-
引起进程调度的原因有:
进程结束;(系统把CPU分配给其他进程)
时间片用完;
被抢占;
调用原语被阻塞(会切换至等待状态)
I/O请求(进程暂停,等待IO访问结束才继续)
注:进程死循环不会导致调度,因为系统无法判断死循环 -
进程和线程
进程是资源分配的基本单位
线程是处理及任务调度和执行的基本单位
线程的切换要比进程切换花费的时间少
线程是进程中的一个执行单元,也称为轻量级别进程
进程中的线程共享1代码段 2数据段 3打开文件列表 线程私有 1线程id 2寄存器 3工作栈*,
线程提高了不同的执行程序间通信的效率(可以通过共享内存和文件等方式来进行通信,不需要内核的介入)
进程获得处理机而运行时通过调度而得到的 -
同步和互斥
进程同步是进程与进程间的直接制约关系
(两个进程要共同完成一个任务,所有满足的关系)
进程互斥是进程与进程间的间接制约关系
(两进程申请相同的临界资源,通过临界资源间接的制约) -
用户态和内存态
概念:是进程的两种执行状态
区别;能否获取计算机的所有资源
本质:凡是涉及到计算机根本运行的事情都是在内核态下执行。
内核态(kernel mode):运行操作系统程序,操作硬件
执行:缺页处理,时钟中断,进程调度
用户态(User Mode):运行用户程序
执行:命令解释程序(shell,cmd) -
分页存储管理是解决存储碎片的一种方法
页号到块号的转换
页逻辑地址空间(虚拟内存空间)
块号是实际对应的在内存中的物理地址 -
页式管理
静态页式管理和动态页式管理
静态管理:一次性为要求内存的进程分配足够多的页面
动态管理:实现虚存,当需要执行某条指令而又发现它不在内存时,发生缺页中断,系统从外存中相应的页面调入内存 -
记录型信号量机制解决进程同步问题
wait(s)等价于P操作
signal(s)等价于V操做
S(signal)的初值表示可用的资源数
当前值表示等待的进程的数量 -
存储保护
目的:防止程序间相互越界访问
保护的原因:在采用虚拟存储技术的存储系统中,操作系统经常将多个不同的程序同时调入主存执行,为了保证这些程序间不会相互覆盖,并且使一个程序不能访问其他程序的数据以及不是分配给他的主存区域。采用存储保护
作用:堆主存中的程序和数据进行保护。 -
从用户的观点看,操作系统是
用户与计算机硬件之间的接口
控制和管理计算机资源的软件 -
虚拟内存
概念:虚拟内存是计算机系统一种内存管理技术。
使应用程序认为它拥有连续可用的内存(一个连续完整的地址空间),实际上,它通常是被分隔成多个物理内存碎片(分页/分段/段页),还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换(页面置换算法)。
目前,大多数操作系统都使用了虚拟内存,如Windows家族的“虚拟内存”;Linux的“交换空间”等 -
置换算法和抖动
作用:,由局部性原理进行预测,把不再使用或较少使用的页面调出
1先进先出置换算法(FIFO)
2最近最久未使用(LRU)算法
3Clock置换算法(LRU算法的近似实现)
4 最少使用(LFU)置换算法
5最佳置换算法(opt)理论存在,实际并不存在
6 工作集算法
7工作集时钟算法
8老化算法(非常类似LRU的有效算法)
9NRU(最近未使用)算法
10第二次机会算法
抖动:刚刚换出的页面又要马上换入内存或刚换入又要马上换出的现象称为抖动。 -
不会发生死锁的最大进程数计算
假设有N个进程,N-1个进程都只差一个资源才能运行,有一个进程可以运行的情况。 -
进程上下文
进程上下文实际上是进程执行活动全过程的静态描述
进程上下文保存进程的状态(进程用到的寄存器、内存中的数据,包括通用目的寄存器、浮点寄存器、程序计数器、用户栈、状态寄存器、内核栈和各种内核数据结构,比如页表、进程表、文件表) -
分页存储
页表表项中的访问位是由CPU置位的
页表表项中的存在位是由操作系统代码置位的
(简言之,分页存储的东西式和OS本身有关的) -
计算机系统软件分类
分类:系统软件,支撑软件,应用软件
系统软件(硬件层至上,软件层之下):操作系统,数据库管理,
作用:管理软硬件资源、控制程序执行,改善人机界面,合理组织计算机工作流程
支撑软件:软件开发环境,包括环境数据库,各种接口软件,工具组 -
临界区
进程中访问临界资源的那段程序称为临界区
临界区是指进程中用于访问互斥共享资源的那段代码
临界资源是需要互斥访问的硬件临界资源和软件临界资源
可理解为用于共享的代码 -
引入缓存的原因
–1--解决CPU与I/O设备的速度不匹配
(CPU运算速度远高于I/O设备,如果没有缓冲区,导致打印机的速度跟不上,这样就会是CPU停下来等待)
–2--减少对CPU的中断频率
我们之前每传送一位数据,就会中断一次CPU,假如我们采用8位的缓存寄存器,可以减少CPU的中断频率
–3--减少CPU和I/O设备间的并行性
在CPU执行后就处理下一个任务,打印机从缓冲区中取得数据
注:内容主要根据 牛客网–专项练习–操作系统 的题目进行整理和总结