计算机系统的层次结构:硬件层 – 操作系统层 – 语言处理程序层 – 应用程序层
操作系统的目的:管理计算机系统中的软硬件资源,为用户与计算机之间提供方便的接口。
操作系统的职能:进程管理、存储文件、文件管理、作业管理、设备管理
进程与线程:
进程: 程序的一次执行过程,是一个动态概念,是程序在执行过程中分配和管理资源的基本单位。
线程: CPU调度和分派的基本单位,它可与同属一个进程的其他的线程共享进程所拥有的全部资源。
线程是进程的一部分,一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。同一进程中的各个线程都可以共享该进程所拥有的资源。访问进程所拥有的以打开文件、定时器、信号量机构等,但不提供共享进程中某线程的栈指针。
三个基本状态:
就绪(Ready)状态: 进程处于准备好运行的状态,一旦得到CPU就可以立即运行
运行(Running)状态: 正在运行的进程所处的状态
阻塞(Block)状态: 由于某些因素,导致该进程即使的到CPU也无法运行(还需要I/O设备),就会进入阻塞状态
进程的同步与互斥:
分时系统: 一个系统中多个用户分时地使用同一台计算机
实时系统: 计算机对于外来信息能够以足够快的速度进行处理,并在被控制对象允许的时间范围内做出快速响应。
PV操作与前趋图:
PV操作利用信号量机制,是一种有效的进程同步与互斥工具,可以实现资源的互斥使用。
系统采用PV操作实现进程的同步与互斥,若有n个进程共享k台扫描仪,则信号量的初始值为k。
信号量S,初始值为0或某个正整数,取值范围为 [-(n-k),k],当S为正时,表示可用的资源数,当S为负时,表示正在等待的进程数。
PV操作:
//P减一操作:S>=0系统有资源,进程执行,S<0进程进入阻塞状态
//V加一操作:S>0进程执行,S<=0系统中有等待使用资源的进程,唤醒等待的进程
wait(S){
while(S<=0);
S--;
}
signal(S){
S++;
}
死锁问题:
假设有12个资源,每个进程分配4个资源,则刚好发生死锁,任意一个进程再获得一个资源时,死锁解除。
k个进程,需要n个资源时,不发生死锁的最少资源数 = k*(n-1)+1
死锁形成的条件: 互斥、保持和等待、不剥夺、环路等待中任何一个发生
解析:
R1有两个资源,一个分配给了P1,一个分配给了P3,此时P2申请R1的资源,因为R1此时没有可用资源,P2堵塞。
R2有三个资源,已经给P1,P2,P3,各自分配了一个资源,而P1此时又再次申请资源R2,P1堵塞
R3有两个资源,已经分配给P2一个,P2申请一个资源,分配给它,所以P3是非阻塞结点
化简:看从没有阻塞的结点开始,删去P3周围所有的bian边,使其成为一个孤立的点,然后看剩下的资源按上述步骤再次进行分配,若到最后只剩下一群孤立的点,则说明该资源图是可以化简的。
首次适应(first fit,FF)算法:从链首开始顺序査找,直至找到一个大小能满足要求的空闲分区为止。
循环首次适应(next fit,NF)算法:不再是每次都从链首开始查找,而是从上次找到的空闲分区的下一个空闲分区开始査找,直至找到一个能满足要求的空闲分区。
最佳适应( best fit,BF)算法:每次为作业分配内存时,总是把能满足要求、又是最小的空闲分区分配给作业,避免“大材小用”。
最坏适应( worst fit,WF)算法:与最佳适应算法相反:它在扫描整个空闲分区表或链表时,总是挑选一个最大的空闲区,从中分割一部分存储空间给作业使用。
页式存储:
每个数据项的大小是4B,所以一个磁盘块中可以存 1 KB / 4 B = 1024 / 4 = 256,而前5个块(0~4)采用直接地址,所以,逻辑号为5的对应物理块号为58,而编号为261的对应第262个物理块,即编号为187的物理块(直接索引5个 + 90对应的256个 = 261个)。
嵌入式系统:
嵌入式系统初始化过程:
片机初始化: 嵌入式微处理器的初始化,把嵌入式微处理器从上电时的默认状态逐步设置为系统所要求的工作状态,是一个纯硬件的初始化过程。
板级初始化: 完成嵌入式微处理器以外的其它硬件的初始化,需要某些软件的数据结构与参数。包含硬件与软件两部分的初始化。
系统级初始化: 以软件初始化为主,主要进行操作系统的初始化。
嵌入式操作系统的特点:
微型化: 从性能和成本角度考虑,希望占用的资源和系统代码量少。
可定制: 从减少成本和缩短研发周期考虑,要求嵌入式系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置。
实时性: 嵌入式操作系统主要应用于过程控制、数据采集、传输通信、多媒体信息及关键要害领域需要迅速响应的场合,对实时性要求高。
可靠性: 系统构件、模块、体系结构必须达到应有的可靠性。对关键要害应用要提供容错和防故障措施。
易移植性: 采用硬件抽象和扳机支撑包的底层设计技术,易移植。
软考历年真题及B站视频课件:
链接:https://pan.baidu.com/s/1rOj1mLoBs8DtIAwD0dHEvQ
提取码:4cij