考一考!嵌入式操作系统面试题3道
Posted 嵌入式ARM
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了考一考!嵌入式操作系统面试题3道相关的知识,希望对你有一定的参考价值。
题一:
进程和线程以及它们的区别。
思考过后,再到下方寻找答案
题二:
进程间的通信的几种方式。
思考过后,再到下方寻找答案
题三:
线程同步的方式。
思考过后,再到下方寻找答案
题一答案:
l 进程是对运行时程序的封装,是系统进行资源调度和分配的的基本单位,实现了操作系统的并发;
l 线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的 实时性,实现进程内部的并发;
l 一个程序至少有一个进程,一个进程至少有一个线程,线程依赖于进程而存在;
l 进程在执行过程中拥有独立的内存单元,而多个线程共享进程的内存。
题二答案:
管道(pipe)及命名管道(named pipe):管道可用于具有亲缘关系的父子进程间的通信,有名管道除了具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;
信号(signal):信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生;
消息队列:消息队列是消息的链接表,它克服了上两种通信方式中信号量有限的缺点,具有写权限得进程可以按照一定得规则向消息队列中添加新信息;对消息队列有读权限得进程则可以从消息队列中读取信息;
共享内存:可以说这是最有用的进程间通信方式。它使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据得更新。这种方式需要依靠某种同步操作,如互斥锁和信号量等;
信号量:主要作为进程之间及同一种进程的不同线程之间得同步和互斥手段;
套接字:这是一种更为一般得进程间通信机制,它可用于网络中不同机器之间的进程间通信,应用非常广泛。
题三答案:
互斥量 Synchronized/Lock:采用互斥对象机制,只有拥有互斥对象的线程才有访问公共资源的权限。因为互斥对象只有一个,所以可以保证公共资源不会被多个线程同时访问
信号量 Semphare:它允许同一时刻多个线程访问同一资源,但是需要控制同一时刻访问此资源的最大线程数量
事件(信号),Wait/Notify:通过通知操作的方式来保持多线程同步,还可以方便的实现多线程优先级的比较操作。
以上是关于考一考!嵌入式操作系统面试题3道的主要内容,如果未能解决你的问题,请参考以下文章
据说会这 24 道 shell 脚本面试题的程序员,都月薪上万了!
(小奇JAVA面试)每日10道Java面试题打卡—Java基础篇3