操作系统——错题
第一章:
1.没有任何软件支持的计算机叫裸机,装了(覆盖了)软件的机子也叫虚拟机。
2.操作系统占用的系统资源和处理及时间:系统开销
3.分时操作:多个用户共享计算机资源
不是高可靠性和安全性
4.PV操作不是特权指令
5.实时系统五大特性:多路性、交互性、 独立性、及时性、可靠性
6.操作系统功能:进程管理、存储管理、I/O设备管理、 文件管理、用户接口。
7.
第二章:
1.计算机组件协调工作的控制方式:中断驱动
不是系统调用
2. 系统调用:给编程人员提供的接口
3.进程管理不是对程序进行管理。
存储管理主要管的是:内存资源
文件管理:支持对文件的操作(硬盘)
设备管理:除了CPU和内存以外的,所有输入输出设备的管理。
第三章:
1.并发执行的程序,不可避免的失去封闭性(争抢资源)和可再现性(多次执行结果不同)。
2.以进程为单位进行整体切换时,每次换出必须把整个进程的内存映射都换出来(X),PCB不能拿出来 ,否则就永远无法回到原来的状态。
3.两个进程可能相互制约。
4.进程控制块包括:优先级,标识,进程的位置。。。
5.信件传输:要有信箱名
6.原语:n条机器指令
7进程 = 数据段+代码段+PCB,堆栈和计数器是线程的
8.进程三个基本状态:就绪态,运行态,等待态(创建和完成态不算)
9.进程6个特点:并发性、动态性、异步性、独立性、制约性、结构特征。
10.两个进程不能,不能,不能并行执行,CPU和通道,IO设备可以
11.进程:有一定功能的程序,在一些数据集上,一次执行的过程。
进程包含了一个程序的所有状态信息。
12.进程控制块:操作系统用来管理进程,操作系统用来描述进程的状况和变化过程(你如果都不知道还控制什么???)
13.进程请求,等待系统服务,无法立刻完成,则处于等待态。(应该是CPU内存不足)
.进程退出,但是没有被父进程回收资源,则处于zombie态
14.没有运行队列,zombie进程也会处在某一个队列中。
15.线程的出现可以减少并发执行时间和开销(进程内的线程切换不会切换内存等资源)。
同一进程的线程共享内存资源、文件资源,可以不通过内核直接通信。
16.内核线程也是线程,可以调度自己所在的进程资源。
17.fork()创建子进程的时候,会复制父进程所有的变量、内存,子进程执行到这句是返回0,父进程执行到这句时返回子进程标识。
fork()创建子进程的时候,会复制父进程页表
18.系统调用exec()时:
1.进程是不变的,但是代码段、数据段(堆栈、堆)完全重写了。
2.加载一个完全不同的程,取代当前的程序,从main()开始执行。
3.相同的进程,运行了不同的程序
对于CPU资源紧张时,采用中级调度把进程调出内存,也可以调回来。
进程间的通信:
线程的细节:内核线程和用户线程。
一个进程的线程都是串行(用户态多线程中),不同的进程可以并行(多核处理器中)。
多对一模式下,进程的所有线程,都对应一个内核调度实体(KES),并且内核不知道这个进程有哪些线程。KES无法将其他线程,调度到其他处理器上。该进程(所有的线程)被阻塞,直到本次系统调用(比如I/O)结束。
用户线程不归内核管,通过所以用户线程的切换不需要中断,即不需要操作系统干预。
用户级线程在多对一的情况下,一个线程阻塞会阻塞整个进程。
因为对于内核而言,他不知道这个它对应多少个线程,也不知道这些线程的阻塞会不会是调用了其他线程。