软考嵌入式系统工程师知识点整理(嵌入式操作系统)

嵌入式系统的特点:

  • 以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统

任务间同步机制有:

  • 信号量
  • 事件
  • 信号

操作系统的文件系统的管理

  • 在操作级(命令级)向用户提供目录管理类命令、文件操作类命令和文件管理类命令
  • 在编程级(系统调用和函数)向用户提供文件的系统调用类服务,例如创建文件等

父进程与子进程

  • 一个进程可创建若干个子进程,进程被创建后,一般与父进程并发执行
  • 父进程创建完子进程后,也可等待所有子进程结束后再执行
  • 当撤销一个进程时,操作系统会检查被撤销进程是否有子进程,若有则一并撤销
  • 父进程执行完后被撤销时,子进程也被一同撤销

某系统中有3个并发进程,都需要同类资源4个,该系统不会发生死锁的最少资源数?

  • 死锁的原因之一是资源竞争
  • 另一个原因是推进顺序不当
  • 死锁的必要条件是:互斥条件、不剥夺条件、请求和保持条件、循环等待条件
  • 最可能发生死锁的情况是三个进程当前各自都占据了3个资源,此时再需要1个该类资源,即可在此情况下不发生锁死

内存碎片

  • 外部碎片是指系统中无法利用的小存储块
  • 内部碎片是指分配给作业的存储空间中未被利用的部分
  • 在分页存储管理系统中,作业地址空间划分成若干大小相等的页,相应地将内存的存储空间分成与页大小相等的块,在为作为分配存储空间时,总是以块为单位来分配,可以将作业中的某一页放到内存的某一空闲块中。在分页存储管理中,要求将作业放在一片连续的存储区域中,因而会产生内存碎片问题
  • 在分段存储管理系统中,作业的地址空间划分为若干个逻辑分段,每个分段是一组逻辑意义相对完整的信息集合,每个分段都有自己的名字,每个分段都从0开始编址并采用一段连续的地址空间。内存分配以段为单位,每段分配一个连续的内存区,但各段之间不要求连续。分段的大小由用户决定,用户根据需要而划分,需要多少就分配多少,所以不会产生碎片
  • 在段页式存储管理系统中,作业的地址空间首先被分成若干个逻辑分段,每段都有自己的段号,然后再将每段分成若干个大小固定的页,内存空间分成若干个和页面大小相同的物理块,对内存的分配以物理块为单位,这种存储方式会产生内存碎片问题
  • 固定分区存储管理办法是最早使用的一种可以运行多道程序的存储管理办法,它将内存空间划分为若干个固定大小的分区,每个分区中可以装入一道程序。分区的大小可以不等,但事先必须确定,在运行时不能改变。这种方法由于作业的大小并不一定与某个分区大小相等,存储空间被浪费,内存不能得到充分利用

调度算法的特点

  • 抢占式:按照一定的规则,在每次中断处理结束后进行调度,选择条件最优的进程投入运行
  • 非抢占式:进程一旦被调度,就将一直运行,除非由于自身原因不能运行

进程基础知识

  • 在多进程多线程系统中,处理机调度的最小单位是线程
  • 线程可定义为进程内的一个执行单位,或者定义为进程内的一个可调度的实体
  • 进程由一个或一组线程组成,一个线程属于且仅属于一个进程
  • 进程处于可执行状态时,它的线程可以被调度执行,而处于阻塞状态时,其所有线程均不能执行
  • 进程的多个线程共享进程的地址空间

三种状态的特点

  • 运行态:进程占有CPU,正在运行其程序时处于运行态
  • 就绪态:进程具备了一切运行的条件,但由于CPU正在运行别的进程而使它不能运行时,处于就绪态
  • 等待态:进程由于自身原因必须等待某个条件的具备,否则不能继续运行时,处于等待态
  • 三种状态的切换条件是
    • 某个运行条件不能满足
    • 等待条件消失
    • 进程自愿放弃CPU使用权,或被强制剥夺
    • 就绪队列中的进程获得CPU使用权

杂项:

  • 如果一个单处理器的系统中有n个进程,则就绪队列中进程的个数最多为n-1
  • 嵌入式实时操作系统可分为基本内核和扩展内核
  • 防止任务优先级翻转的方法有优先级继承和优先级天花板
  • 综合考虑进程等待时间和执行时间的是高响应比优先算法
  • 响应比=(等待时间+要求服务时间)/ 要求服务时间
  • 对于两个并发进程,若信号量mutex=1,则表示没有进程进入临界区
  • 进程状态变化时,等待->运行是不可能发生的,中间需要经过就绪态
  • 若信号量S的初始值是2,当前值为-1,则表示有1个进程等待信号量S

问答

  1. 设有4个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理器上按单道方式运行,则平均周转时间为几小时

    • (2+4+6+8)/4 = 5小时
  2. 现有3个同时到达的作业J1、J2、J3,他们的执行时间分贝是T1、T2、T3,且T1小于T2 小于T3。系统按单道方式运行且采用短作业优先算法,则平均周转时间是多少?

    • 由于是同时到达,作业次序依次为J1、J2、J3
    • J1: T1
    • J2: T1+T2
    • J3: T1+T2+T3
    • 平均周转时间为:(J1+J2+J3)/3 = (3T1+2T2+T3)/3

你可能感兴趣的:(软考,嵌入式系统工程师)