操作系统学习

本文原创,转载请注明来至:http://blog.csdn.net/j903829182/article/details/38060553

1.计算机发展的4个时代:电子管时代,晶体管时代,集成电路时代和大规模集成电路时代

2.操作系统发展过程:(1)单道批处理,(2)多道批处理,分时和实时系统时代,(3)多方式系统时代(4)并行与分布式系统时代。

3.操作系统:是一种系统软件,是软硬件资源的控制中心,它以尽量合理有效的方法组织单个或多个用户以多任务方      式共享计算机的各种资源,并提供编程和使用接口。

4.操作系统作为特殊子程序,操作系统作为资源管理者,操作系统提供程序并发运行机制。

5.资源管理包含两种资源共享使用的方式,时分和空分。

时分就是有多个用户进程分时地使用该资源。

空分是针对存储资源而言,存储资源的空间可以被多个用户进程共同以分割的方式占用。

时分共享使用资源中,有独占式使用(独占表示某用户任务占用该资源后,执行对资源的多个操作,使用一个完整的周期),分时共享使用(这种共享使用时指用户任务占用该资源无需使用一个逻辑上的完整周期)。

6.进程是指运行当中的出现,也就是指程序针对于某一个数据集合的执行过程。

7.批处理系统的基本思想:设计一个常驻主存的程序(监督程序Monitor),操作员有选择的把若干用户作业合成一批,安装在输入设备上,并启动监督程序。然后,由监督程序自动控制这批作业运行。监督程序首先把第一道作业调入主存,并启动该作业。一道作业运行结束后,在把下一道作业调入主存启动运行。待一批作业全部处理结束后,系统操作元则把作业运行的结果一起交给用户。

8.作业是用户在一次上机活动中要求计算机系统所做的一系列工作的集合。

9.作业控制说明书是利用作业控制语言编写的,用以控制作业运行的一段描述程序。

10.普通指令,特权指令

11.监督程序为用户提供一系列分别完成各种不同功能的系统调用程序段。用户程序中可以用一条特殊的硬件转移指令请求一次特定的系统调用。当处理机执行到用户程序的系统调用指令是,硬件通过产生“自陷”并借助转换机制将当前的用户模式转变为监督模式,控制也随之转入监督程序。监督程序根据用户提供的调用参数进行相应的处理,完成设备I/O等功能。处理结束后,监督程序则根据“自陷”前保存的现场将模式改变为用户模式,退出用户程序继续执行。

12.单道批处理系统中cpu和i/o设置以串行的方式工作。

13.多到批处理:利用i/o缓冲,SPOOLING等技术,引入多道程序设计的思想。

14.利用i/o缓冲异步

15.通道是指专门用来控制I/O的硬件设备,可以实现外设与主存直接交换数据,在相当长的时间里不用妨碍cpu,因此这时cpu可以 去干别的事情。

16.用SPOOLING技术控制批处理系统中作业i/o的基本思想:用磁盘设备作为主机的直接i/o,即系统直接从磁盘选择作业运行,作业的运行结果也直接存入磁盘,相应的通道(在设备驱动程序驱动下)则负责并行地将卡片机上的用户作业输入到磁盘,或者将磁盘的中作业的运行结果从打印机上输出。

17.多道程序设计思想:在主存同时保持多道程序(作业),主机(对于单个cpu系统)以交替方式同时处理 多道程序。

18.操作系统的基本特征:并发机制(用以支持多道程序设计技术),共享机制(控制各种并发活动正确共享系统软硬件资源)。

19.多道批处理系统的基本特征:系统按照成批(或批量)的形式输入用户作业,并采用SPOOLING技术和多道程序设计控制多道作业运行。

20.多道批处理系统的出现有效的提高了系统资源的利用率,但却失去了手工操作阶段的“交互性”优点。

21.将交换系统和多道程序设计技术系统相结合便形成了分时系统。

22.在分时系统中,一台计算机与多台终端连接,用户通过各自的终端和终端命令以交换方式使用计算机系统。系统使每个用户都能感觉到好像自己在独占计算机系统,而在系统内部,操作系统负责协调多个用户分时 共享cpu,这便是“分时”的含义。

23.分时系统的基本特点:

并发性:系统能协调多个终端用户同时使用计算机系统(即系统内部具有并发机制),能控制多道程序同时运行。

共享性:对资源而言,系统在宏观上使各终端用户共享计算机系统的资源,而微观上它们则分时使用这些资源。

交换性:对系统和用户双方而言,人与计算机系统以对话的形式进行工作。

独立性:对用户而言,系统能使用用户有一种只有他自己在使用计算机的感觉。

前两个特点(并发和共享)是各类操作系统所共有的基本特性,而后两个特点是分时系统所独有的特点(交换性,和独立性)。

24.实时系统

所谓“实时可以理解为立即,及时的意思,是指计算机的运算和处理时间与被控制过程或事务处理所需的真实相适应。

实时系统的独有特点:及时性,高可靠性

25.实时系统的主要特征和功能如下:

时钟分辨率度高,支持可剥夺任务调度,多级中断机制。

26.UNIX是一种多用户操作系统。,Linux是一个多用户操作系统。

27.操作系统处于中间层,向下管理控制硬件资源,向上为外层人家及用户自编程序提供使用方便,功能强大的服务。操作系统的主要功能就是管理cpu,主存,i/o设备及文件,并提供支持程序并发的机制。

28.cpu在运行上层程序时唯一能进入内核程序的途径就是通过中断或异常。

29.异常表示cpu执行指令时本身出现算术溢出,零做除数,取数时发生奇偶错,访存指令越界,或执行了一条所谓“陷入指令”等情况。

30.中断(interrruption)也称外中断。指来自cpu执行指令以外的事件发生。如设备发出的各种I/O结束中断,表示I/O处理已完成,希望处理机能够向设备发下一个i/o请求,同时让完成i/o后的程序继续运行。

31.异常(exception)也称内中断,例外或陷入(trap)。指源自cpu执行指令内部的事件,如程序的非法操作码,地址越界,算术溢出,虚拟系统的缺页及专门的陷入指令等。

32.所谓“中断屏蔽”通常是指禁止响应中断。

33.异常不能被屏蔽,必须被响应。

34.中断信号是外部设备或时钟部件发给cpu的,故在cpu的控制部件中需增设一个能检测中断的机构。该机构能够在每条机器指令执行周期内的最后时刻扫描中断寄存器,“询问”是否有中断信号。若无中断信号或被屏蔽,cpu继续执行程序的后续指令,否则cou停止执行当前程序的后续指令,无条件转入操作系统内核的中断处理程序,这一过程称为中断响应。

35.异常时在执行指令的时候,由指令本身的原因发生,指令的实现逻辑发现异常发生则转入操作系统内核的异常处理程序。

36.一般情况下,断点应为中断的那一瞬间程序计数器(pc寄存器)所指指令的前一条指令地址,即中断发生时正在执行的那条指令的地址。中断时程序计数器所指的地址(即断点的逻辑后续指令)称为”恢复点“。

37.所谓现场信息,是指中断那一时刻确保程序继续运行的有关信息,如程序计数器,通用寄存器及一些与程序运行相关的特殊寄存器的内容。

38.在处理机状态字(也称程序状态字,简写为ps或psw)寄存器内设置一个标志位,根据当前值为1或0来分别表示处理机处在核心态或用户态。

39.为了处理方便,一般为系统中每个中断/异常信号编制一个相应的中断/异常处理程序,并把这些程序的入口地址放在特定的主存单元中。通常将这片存放中断/异常处理程序入口地址的主存单元称为中断/异常向量,或系统控制块。

40.pc是程序计数器寄存器,cpu的取指令部件是根据它到主存中取指令的。

41.ps寄存器描述cpu的执行状态,主要包含了处理机当前运行状态,处理机优先级,屏蔽外中断否等标志位。

42.在中断/异常处理中,一般包括保存现场,分析中断/异常原因,进入相应的中断/异常处理程序,重新选择程序(进程)运行,恢复现场等过程。

43.操作系统通常包含系统的初始化,进程管理,存储管理,外设管理,文件管理等主要功能模块,还需提供支持用户使用计算机的命令解释程序。

44.系统调用是操作系统内核和用户态运行程序之间的接口。

45.计算机系统的出现运行环境被分为核心态和用户态。

46.pid=fork()该系统调用产生了一个子进程,继承了父进程的程序及数据,pid变量存放fork()系统调用的返回值,即子进程号。

47.exit(status)结束当前运行的进程

48.pid=wait()等待任一子进程结束,pid变量存放结束子进程的进程号。

49.进程的定义:进程是支持程序执行的机制。进程可以理解为程序对数据或请求的处理过程。具体来说,进出由以下四个方面组成:

1.进程包括至少一个可执行程序,含有代码和初始数据,一般在进程创建时说明。

2.进程包括一个独立的进程用户空间,在进程创建时由操作系统分配。

3.进程包括系统资源。这是指在进程创建及执行过程中,由操作系统分配给进程的系统资源,包括i/o设备,文件等。

4.进程包括一个执行栈区,包含运行现场信息,如子程序调用时所压栈帧,系统调用时所压的栈帧等,这是进程运行及进程调度进行运行处理机切换时所要涉及的数据结构。

50.任何一个程序,逻辑上都可以将其分为两部分:执行过程中不改变自身的不变部分和工作区,变量等可变部分。

51.我们把程序,数据,栈的集合称作进程映像。

52.进程控制块:操作系统必需建立一个表格用来描述该进程的存在及状态。这个表格被称为进程控制块。它描述了进程标识,空间,运行状态,资源使用等信息。

53.进程标识信息;在进程控制块中存放的标识信息主要有本进程的标识,本进程的产生者标识(父进程标识),进程所属的用户标识。

54.处理机状态信息:这里指的是进程的运行现场保存区,进程在运行时,有很多现场信息存在于处理机的各种寄存器中,当进程在中断/异常进入操作内核运行及在内核进一步调用子程序时,需要保存处理机允许现场,运行现场以栈帧格式保存在进程的核心栈中。

55.进程控制块信息:调度和状态信息,进程间通信信息,存储管理信息,进程所用资源列表,链接信息。

56.进程状态变化模型:

运行状态(running):一个进程正在处理机上运行。

就绪状态(ready):一个进程获得了除处理机之外的一切所需资源,一旦得到处理即可运行,称此进程处于就绪状态。

等待状态,又称阻塞状态(blocked):一个进程正在等待某一事件而暂停运行,如等待某一资源成为可用或等待I/O完成。

创建状态(new):一个进程正在被创建,是还没转到就绪状态之前的状态。

结束状态(exit):一个进程正在从系统中消失时的状态。这是因为进程结束或其他原因所致。

空-〉创建状态

创建---〉就绪状态

就绪状态-〉运行状态

运行状态-〉结束状态

运行状态--〉就绪状态

运行状态---〉等待状态

等待状态-〉就绪状态

就绪状态--〉结束状态

等待状态---〉结束状态

57.挂起状态的原因:

1.为支持进程交换。操作系统为节省主存而将某些进行挂起,并把他们交换出主存。就是说在挂起状态的进程没有资格占用主存,如果有进程从其他状态变为挂起,就把该进程映像占用的主存释放给系统。

2.有时需要将系统中可能引起系统错误的进程挂起。

3.一个交换式用户可能因调试或其他原因挂起程序的执行。

4.一个进程可能是周期性地执行,如记账或系统监督进程,在等待下一次执行周期时挂起。

58.划分特权与非特权态的理由是,保护操作系统和操作系统的数据表格不被可能出错的用户程序破坏。

58.模式切换,用户态到核心态模式

59.进程切换是处理机从一个进程的运行转到另一个进程上运行。

60.选择进程占用处理机称为进程调度。

1.高级调度又称作业调度。在支持批处理的系统中,新提交的作业排入批处理队列中。高级调度从批处理队列中选取合适的作业,产生相应进程运行作业控制语句的解释程序,作业一旦被高级调度选中,相应的进程及进程组才会产生,其他系统资源有可能被占用。

2.中级调度。在实存交换方式存储管理系统中,中级调度选取在辅存的进程占用物理主存,为占用处理机做好准备。通过中级调度可以控制进程对主存的使用。

3.低级调度。低级调度决定处在就绪状态中的哪个进程将获得处理机。通常所说的进程调度就是指低级调度。

70.进程调度的有以下两种方式:

非剥夺方式:在这种方式下一旦分派程序把处理机分配给某进程后,便让它一直运行下去,直到进程完成或发生某事件(如提出i/o请求)而阻塞时,才把处理机分配给另一进程。(优点:简单,系统开销小;缺点:实时性差,短进程的周转时间增长。)

剥夺方式:在这种方式下,某个进程正在运行时可以被系统以某种原则剥夺已分配给它的处理机,将处理机分配给其他进程。(优点:加快系统吞吐率,加速系统响应时间)

71.引发进程调度的原因:

一:一方面正在运行的进程无法在继续运行下去,而系统中有其他待运的进程,操作系统必须把处理机交给一个合适的进程来运行。

二:另一方面,可剥夺方式的支持,如出现因为更高优先级的进程从原来的等待状态变为就绪状态,需要处理机,或为了给等待处理机过长的进程占用处理机。

进程主动放弃处理机的原因:

1.正在执行的进程执行完毕。

2.正在执行的进程发出i/o有关的系统调用。

3.正在执行的进程要等待其他进程或系统发生的事件。

4.正在执行的进程得不到所要的系统资源。

5.正在执行的进程执行“自愿放弃处理机”的系统调用。

72.不能进行进程调度和切换的情况如下:

1.在处理中断的过程中。

2.进程在操作系统内核临界区中不应该被切换。

3.其他需要完全屏蔽中断的原子操作过程,像加锁,解锁,中断现场保护,恢复等原子操作。

73.应该进行进程调度与切换的时机如下:

1.当发生引起调度条件,且当前进程无法继续运行下去时(如发生各种进程放弃执行的条件),可以马上进行调度和切换。

2.当中断处理结束或自陷处理结束后,返回被中断进程的用户态程序执行现场前,若置上请求调度标志,即可马上进行进程调度和切换。

74.周转时间:进程从创建到结束运行所经历的时间。

平均周转时间:n个进程的周转时间的平均值。

等待时间:指进程处于等待处理机状态时间之和。

评价等待时间:n个进程的等待时间的平均值。

75.先来先服务调度算法(FCFS):基本原则是:按照进程进入就绪队列的先后次序进行选择。(属于不可剥夺算法)。

76.优先级调度算法:按照进程的优先级大小来调度,使高优先级进程优先得到处理机的调度称为优先级调度算法。

优先级调度算法又可分为下述两种:

1.非剥夺的优先级调度算法:一旦某个高优先级的进程占用了处理机,就一直运行下去,直到由于其自身的原因而主动让出处理机时(任务完成或等待事件)才让另一高优先级进程运行。

2.可剥夺的优先级调度算法:任何时刻都严格按照高优先级进程在处理机上运行的原则进行进程的调度,或者说,在处理机上运行的进程永远是就绪进程队列中优先级最高的进程。

77.时间片轮转算法:按照先来先服务原则调度,但进程占有处理机仅有一个时间片,在使用完一个时间片后,进程还没有完成其运行,它也必须释放(被剥夺)处理机给下一个就绪的进程。而剥夺的进程返回到就绪队列的末尾重新排队,等候再次运行。

78.短进程优先调度算法(SPF):短进程优先调度算法从进程的就绪队列中挑选那些所需运行时间(估计时间)最短的进程进入主存运行。这是一个非剥夺式算法,它一旦选中某个短进程,保证该进程尽可能快地完成运行并退出系统。(短进程优先算法和先来先服务算法都是非剥夺的,因此均不适合于分时系统,因为不能保证对用户及时响应。)

79.最短剩余时间优先调度算法:最短剩余时间优先调度算法是把短进程优先算法使用于分时环境中的变型。其基本思想是,让“进程运行到完成时所需的运行时间最短”的进程优先得到处理,包括从新进入系统的进程。(优点:可以用于分时系统,保证及时响应用户要求。缺点:系统开销增加。)

80.最高响应比优先调度算法:(非剥夺算法),优先数=(等待时间+要求的服务的时间)/要求的服务时间

81.多级反馈队列调度算法

82.进程是系统资源的使用者,系统的资源大部分都是以进程为单位分配的。

83.作业是用户向计算机提交的相关任务的集合,而进程是具体完成用户任务的运行实体,分配计算机资源的基本单位。

84.一个进程代表了一个作业步。

85.线程:是指程序的运行流程。多线程机制可以同时运行多个程序块,是程序运行的效率更高。

进程至少有一个线程,线程共享程序 区和数据区,线程有自己的运行栈,可以独立地调度占用cpu并行或并发地运行。

86.什么是进程?为什么要引入此概念?试述进程与程序的区别。

1.进程是动态,程序是静态的,进程是程序的执行,程序是有序代码的集合

2.进程是暂时的,程序是永久的,进程的生命是有限的,而程序可以长久保存。

3.进程与程序的组成不同,进程的组成包括程序,数据和进程控制块

87.在多道程序设计系统中,进程是可以并发(分时占用处理机)或并行(同时占用不同处理机)运行。

88.同步:就是指多操作在同一时间段内只能由一个线程运行,其他线程要等待此线程完成之后才可以继续执行。

89.fork()---创建一个新进程。该系统调用执行完成后,系统就创建了一个子进程,子进程进程映像的程序区,数据区和栈区按如下规则生成:该子进程继承父进程的程序空间,复制父进程的数据区和栈区。也就是说,不管是父进程还是子进程,在占用处理机后,都从fork()调用的返回点开始运行,但是数据区和栈区已经完全分开,父进程fork()调用的返回值是子进程的进程标识pid,子进程for()调用的返回值是0.

90.exit(status)-----进程结束,该系统调用发出后,操作系统将从系统中删除调用exit的进程,并将status值传给等待它结束的父进程。

91.wait(&status)-----等待子进程结束。当有多个子进程时,任一个子进程结束即将控制返回调用者,并将子进程调用exit(status)时的status值送到&status指针所指存储单元中。在控制返回调用者时,同时将所得到的子进程pid作为wait()系统调用函数的返回值。

92.waitpid(pid,..)----等待pid所指的进程结束。

93.同步关系(或称直接制约关系):指为完成用户任务的伙伴进程间,因为需要在某些位置上协调他们的工作次序而等待,传递信息所产生的制约关系。

94.互斥关系(或称间接制约关系):即进程间因相互竞争使用独占型资源(互斥资源)所产生的制约关系,如进程间因争夺打印机设备而导致一方须待另一方使用结束后方可使用。

95.临界资源:一次仅允许一个进程使用(必须互斥使用)的资源。

96.临界段:是指各进程必须互斥执行的那种程序段,该程序段实施对临界资源的操作。

97.1965年,Dijkstra提出了一种称为信号量(Semaphore)的同步互斥工具,通常称为信号量机制。信号量机制有“信号量”和“p操作,v操作”两部分组成。信号量机制是一种功能较强的制作,可以用来解决互斥与同步问题。

98.原语:是指完成某种功能且不被分割,不被中断执行的操作序列。

99.管程。。。

100.消息传递原理:

共享存储方法

消息传递原理

101.死锁定义:在一个进程集合中,若每个进程都在等待某些释放资源事件的发生,而这些事件又必须由这个进程集合中的某些进程来产生,就称该进程集合处于死锁状态。

出现死锁的系统必须同时满足下列4个必要条件:

互斥,占有等待,非剥夺,循环等待

102.设计无死锁的系统通常采用下述两种途径:

死锁防止:通过在应用编程时或资源分配管理设计时破坏死锁存在的必要条件来防止死锁发生。

死锁避免:在进行资源分配管理时,判断如果满足这次分配资源后是否仍存在一条确保系统不会进入死锁状态的路径,如果没有这样的路径,即使现有资源能满足申请,也拒绝分配。

103.死锁防止:

1.破坏互斥条件

2.破坏占有等待

3.破坏非剥夺条件

4.破坏循环等待条件

104.死锁避免:银行家算法

105.死锁检测

106.死锁的恢复

存储管理:

一:连续空间分配(连续存储分配具有易理解,访问效率高,空间利用率低等特点。)

1.单道连续分配:系统只有单道用户程序,单道用户程序连续存放在主存中。

2.避免用户程序访问操作系统的主存空间,通过硬件提供的界地址寄存器和越界检查机制来进行检查操作。

3.覆盖:覆盖的基本思路是,由于程序运行时并非任何时候都要访问程序及数据的各个部分(尤其是大程序),因此可以把用户空间分成一个固定区和一个或多个覆盖区。将经常活跃的部分放在固定区,其余部分按调用关系分段。首先将那些即将要用的段放在覆盖区,其他段放在辅存,在需要调用前用户安排特定系统调用将其调入覆盖区,替换覆盖区中原有的段。

覆盖:由用户解决空间不足,要求用户给出程序之间的逻辑覆盖结构。

采用覆盖技术是把解决空间不足的问题交给了用户。操作系统提供帮助用户将覆盖段调入主存的系统调用,但用户自己必须说明覆盖段,并安排调入覆盖段,由此可见覆盖技术用户参与过多,会给用户带来麻烦。

4.交换:

交换的基本思想:把处于等待状态(或在cpu调度原则下被剥夺运行权利)的作业从主存移动辅存,这一过程叫做换出;把准备好竞争cpu运行的作业从辅存移到主存,这一过程称为换入。

交换发生在进程或作业之间,而覆盖发生在同一进程或作业内,且只能覆盖那些与覆盖段无关的程序段。

交换由系统解决空间不足。

二:多道固定分区法(优:每道程序占一个分区;可放多道程序;存放零头;)

1.地址重定位是指用户程序目标代码中相对于0地址开始的所有指令,数据地址变换成指令,数据所在的主存物理地址。主要的重定位方法有两种:静态重定位,即在操作系统将目标代码加载到主存时,将目标代码所有地址域改为“原地址+目标代码所在主存起始地址”;动态重定位,由硬件地址转换机制实现,在执行访存指令时将“原地址+目标代码所在主存起始地址”后进行访问。

2.多道固定分区法所依赖的保护机制有两种:一种是上,下界寄存器和地址检查机制;另一种是基址寄存器,长度寄存器和动态地址转换机制。

3.在多道固定分区法下,存储调度(即中级调度)一般分为多队列法和单队列法。

三。多道连续可变分区法:

管理方法:

首次满足法

最佳满足法

最大满足法

可用空间的管理:

数组管理

链表管理

紧致空间管理

不连续空间分配

一:页式管理

1.在页式管理中,逻辑空间,物理空间均以相同长度为单位进行等分。逻辑空间所划分出的每个区域称为页(page);物理空间所划分出的每个区域称为页帧(page frame)。

2.页表:由于逻辑地址和物理地址不一致,因此必须把每一页第一个单元逻辑地址所对应的物理地址登记在一张称为页表的表中。

线性逻辑地址可以分解为页号,页内位移,分别记为p,d

线性物理地址可以分解为页帧号,页帧位移,记为f,d

p=线性逻辑地址/页面大小,d=线性逻辑地址-p*页面大小

3.在页式系统中,越界保护的方法是设置页表长度寄存器。

4.页式管理优点:内部碎片很少,空间管理简单;缺点:硬件地址转换开销比较大,与用户对空间划分观点不统一,不利于共享,也不利于保护,对用户而言不自然。

二:段式管理

段式管理按照用户作业(进程)中德自然断来划分逻辑空间。

段号和段内位移分别记做s,d

三:段页式管理

四:虚拟存储管理

五:页面替换策略

替换策略可分成两类:一类是基于进程驻留集大小固定不变的策略;另一类基于进程驻留集大小可变策略。

1.驻留集固定的替换策略

FIFO(First In First Out)(先进先淘汰),没有Belady奇异的策略随着驻留集大小增大,页故障数一定减少。而对于具有Belay奇异的策略而言,有时随驻留集大小增大,页故障数也会增大。

OPT(OPTinonal repacement)OPT策略是驻留集大小固定这类策略中德最优策略。他淘汰下次访问距当前最远的那些页中序号最小的一页。OPT虽被誉为驻留集固定策略中的最优策略,但由于用以控制页面替换时需预先得知整个访问串,故难以付诸实用,仅能将其作为一种标准,用以测量其他可行策略的性能。

LRU(Least Recently Used)

LRU策略淘汰上次使用距当前最远的页。

2.驻留集可变的替换策略

WS(Working Set)这是一种顺应程序的局部性形态而制定的策略,在驻留集中只放置当前 活跃的局部集(我们把活跃的局部集叫做工作集Working Set)中的页。WS需要一个控制参数,记为三角形。若某页在驻留集中有三脚形个单位(访存间隔)为被引用,则将其淘汰。由于实现WS策略耗费太大,故实际系统中很少采用。

SWS(Sampled Working Set)在实际系统中,常采用的是SWS策略,他近视WS。在WS策略的控制下,每过π个时间单位(如π=10000)检查一次计数器,将计数器值大于三角形的页淘汰。

VMIN(Variable MINimal replacement)VMIN策略需要一个参数三角形,若某次下一次访问的距离大于三角形,则将其淘汰。VMIN为最优策略,但是也不能用于实际系统中。

设备管理

一:i/o硬件设备

1.常见的外部设备分类

人机交互类外部设备:人机交互类外部设备又称慢速i/o设备,这类设备主要与用户打交道,数据交换速度相对慢,通常是以字节为单位进行数据交换,这类设备主要有显示器及键盘一体的字符终端,打印机,扫描仪,传感器,控制杆,键盘,鼠标等。

存储类外部设备:这类设备主要用于存储程序和数据数据交换速度较快,通常以多个字节组成的块为数据单位进行数据交换,主要有磁盘设备,磁带设备,光盘,flash存储设备。

网络通信外部设备:这类设备的交换速度通常高于慢速i/o设备,但低于存储类外部设备。这类设备主要有各种网络接口,调制解调器等。

2.i/o控制的方式

程序直接控制方式:cpu在执行指令的过程中,遇到了一条与i/o相关的指令,cpu执行此指令的过程是向相应的设备控制器发命令。在程序直接控制i/o时,设备控制器执行相应的操作,将i/o状态寄存器的相应位(Bit)置上。设备控制部件并不进一步通知cpu,也就是说,它并不中断cpu的当前处理过程。因此,cpu负责周期性地检查设备控制器的状态寄存器,直到发现i/o操作完成为止。在该方式中,cpu还负责从主存中取到需要输出的数据,送到设备控制器寄存器;或从设备控制器寄存器取出输入数据,将输入的数据存入主存。总之,在程序直接控制I/o时,cpu直接控制i/o操作过程,包括测试设备状态,发送读/写命令与数据。因此,处理机指令集中应包括下述类别的i/o指令:

控制类,测试类,读/写

中断驱动方式:cpu向设备控制器发出命令后,继续做其他有用的工作。当设备控制器准备好与cpu交换数据时,设备控制器中断cpu,要求服务。cpu被中断后,执行cpu寄存器与设备控制器之间的数据传输,然后恢复被中断的工作。

DMA(Direct Memory Access)方式:当cpu需要读/写一个数据时,它给DMA部件发命令,命令中一般包含下述信息:

操作类别为读或写。

所涉及的外部设备的存储地址。

读取或写入数据在主存中的首地址。

读取或写入数据的字数。

发出命令后,cpu继续进行其他的工作。它把这次i/o任务托给了DMA部件,由它负责完成这次i/o操作。DMA部件每次一个字地将整个数据块直接读取或写入主存,而不需要经过cpu的寄存器。当传送过程完成后,DMA部件向cpu发出中断信号。因此,仅在数据块传送的开始及结束处涉及到cpu。

二:设备i/o子系统

1.设备相关的系统调用

2.独占式使用设备

3.分时式共享使用设备

4.使用SPOOLing方式使用外部设备

5.i/o层次结构

用户层i/o

与设备无关的i/o

设备驱动与中断处理

6.缓冲技术

缓冲区比目标存储访问速度要快,当然缓冲区只能存放目标存储的部分数据,设立缓冲区的目的是减少访问目标存储部件的次数,提高i/o速度。

单缓冲

双缓冲

循环缓冲

引入缓冲有效改善cpu与i/o设备之间速度不匹配的矛盾。

三:存储设备

1.常见存储外部设备

磁带存储设备

磁盘存储设备(容量较大,存取速度快;一个同心圆称为一条磁道,一个盘面上可有成百上千条磁道。盘组中直径相同的磁道形成一个柱面。每条磁道又划分成几个扇区。扇区是可寻址的最小存储单位。柱面,盘面,扇区编号(块号)构成磁盘的存储地址。每个磁道上可存放的数据量相同。这意味着,盘面边缘的磁道上的数据密度(位/英寸)低于内圈磁道的数据密度。数据从盘上读出/写入的单位是块(Block)。相应地数据块存放在扇区(Sector)中。一般一条磁道可容纳的扇区数位10--100)

光盘存储设备(CD-ROM只能读取光盘的数据,CD-R和CD-RW可以读可以写;成本低,容量大,保存数据更可靠,更直久)

固态存储设备(易失性存储器(RAM),非易失性存储器(NVRAM);低功耗,无噪声,抗震动,低热量)

2.磁盘调度

读/写一次磁盘信息所需的时间可以分解为寻找(寻到)时间,延迟时间与传输时间

寻找时间(Seek Time):活动头磁盘的读/写磁头在读取信息之前,必须首先将磁头移到相应的柱面(磁道)。磁头这种定位柱面所花费的时间称为寻找时间。

延迟时间(Latency Time):读/写磁头定位于某一磁道的块号(扇区)所需时间为延迟(或等待)时间

传输时间(Transfer Time):数据写入磁盘或从磁盘读出的时间。

一次磁盘i/o请求服务的总时间是上述三者之和。为提高磁盘传输效率,磁盘设备驱动程序应着重考虑减少寻找时间和延迟时间,使磁盘平均服务时间最短。

减少寻找时间的方法:

FCFS(First Come First Served)调度:先来先服务,这种方法简单,但调度效果不好。

SSTF(Shortest Seek Time First)调度:这是根据磁头的当前位置,首先选择请求队列中距磁头最短的请求,再为之服务。(某些请求得不到服务,SSTF平均寻找时间虽小于FCFS,但仍不是最优算法)。

SCAN调度(电梯调度):让磁头固定地从外向内然后从内向外逐柱面运动,如此反复。磁头固定在水平的2个端点来回扫描。

C-SCAN(Circulor SCAN)调度这种调度算法使磁头从盘面上的一端(逐柱面地)向另一端移动来服务请求,返回时直接快速移至起始端而不服务任何请求。

减少延迟时间的方法:

一般常对盘面扇区进行交替编号,对磁盘盘片组中的部同盘面进行错开命名。

3.磁盘阵列

RAID(冗余廉价磁盘阵列)通常用于解决性能和可靠性问题。现今,RAID主要因为他们较高的可靠性和数据传输速率而被使用,而不是因为经济原因。

通过冗余提高可靠性

通过并行性提高性能

文件系统

一:文件结构

为使用户方便使用计算机辅助存储器中的信息,操作系统为信息存储访问提供了标准的使用界面,操作系统抛开存储设备的物理特性,定义了逻辑存储实体,即文件。

1.操作系统感知的文件逻辑结构:流式文件(字节流式文件)(它是字节流集合,其基本读/写单位是字节),记录式文件(它是数据记录的集合,其基本读/写单位是逻辑记录)。

2.文件的访问方式

顺序访问:指用户从文件初始数据开始依次访问文件中的信息。

直接访问:指用户随机地访问文件中的某段信息。

3.文件在辅存的存放方法

顺序结构:若逻辑文件的信息在辅存连续存储,其物理结构叫做顺序结构。(顺序访问优点:顺序访问容易,顺序访问速度快;缺点:必须已知文件的大小;扩展性差,不宜用来存放用户文件系统;    顺序结构适用于只读(输入)文件和只写(输出)文件)

链式结构:若一个文件在辅存中散布在辅存非连续的若干物理块中,且用向前指针把记录一次链接起来(如用每个记录的最后一个字作文指针,指向下一个记录的物理位置),这种组织形式称为链接结构。

索引结构:将文件的全部逻辑记录都散存在辅存的各物理块中,为文件建立一张索引表。(优:不仅适应顺序存取,也适应随机存取;缺:增加了存储空间的开销;在存取文件时需要至少访问存储器二次以上)

4.文件控制块(FCB File Control Block)

文件应包括文件控制块和文件体

二:文件目录结构

1.一级目录结构

极易带来重名问题

2.二级目录结构

二级目录结构解决了将不同用户文件分开存放并建目录进行索引的问题,但是如果用户文件太多,在一个子目录下存放用户所有文件同样也会存在“重名”问题,因此引入树形目录。

3.树形目录结构

树形结构可以很方便地对文件进行分类,同时利用相对路径可以减少对文件控制块的磁盘目录的访问次数。

4.无环图目录结构

三:文件保护

1.文件访问保护

口令保护

加密保护

访问控制(访问控制矩阵(访问表),简化访问表)

2.文件备份

批量备份(全量转储:把文件存储器的全部文件定期(如每天一次)复制到后援存储器中;

增量转储:每隔一段时间便把上次转储以来改变过的文件和新文件用后援存储器存储)

同步备份(镜像盘支持;双机动态文件备份)

3.文件系统的基本模型

文件系统的优点;方便灵活;安全可靠;共享功能;

操作系统学习,布布扣,bubuko.com

时间: 2024-10-25 19:57:13

操作系统学习的相关文章

操作系统学习 28/9/2015

操作系统学习 28/9/2015 虚拟内存:程序可以比内存大,允许执行程序不全在内存中,按需调页. 按需调页:通过设置有效无效位,有效表面该页合法且在内存中,无效表明该页不在进程的逻辑空间内或者该页合法但是在磁盘上.进程试图访问无效位的页时会产生错误陷阱,处理:1.检查进程内部页表,确定该引用是否合法,若非法,则终止进程,若合法,则调入该页面:2.在内存中找到一个空闲帧,将页面从磁盘掉入该帧中:3.修改进程的内部表和页表:4.继续该中断指令的执行.(重新对该指令进行获取,译码等) fork()调

Linux 操作系统学习笔记

一,unix 1.unix 特点 伸缩性强,开放性好, 2.基本原则 所有对象,硬件都是文件 配置数据以文本形式保存 短小的单目的程序构成 多个程序合作完成复杂任务 3.gnu 基本原则是共享,建立自由开放的unix系统 1984年 richard stallman 发起 基本体系是micro kernel 4.gpl Copyleft 原作者所有权 5.linux起源 Linustorvalds, 自由的类unix操作系统, 遵循gnu和gpl 6.linux 可以实现unix功能 遵循开源许

计算机操作系统学习笔记_1_操作系统概述

操作系统概述 一.操作系统的概念.特征.功能和提供的服务 1.操作系统的概念     操作系统是计算机系统中最重要.最基本的系统软件,操作系统位于硬件和用户程序之间.    对于用户来讲:它能向用户提供使用计算机的接口;    从资源管理角度来看:它能管理计算机软硬件资源,提高其利用率;    再者,利用虚拟机技术(如WMWare,VirtualBox,Java虚拟机等),扩展了计算机的功能和使用范围.     因此,操作系统的定义为:操作系统是控制和管理计算机软.硬件资源,以尽可能合理.高效的

RTX51 Tiny实时操作系统学习笔记—初识RTX51 Tiny

 一,RTX51 Tiny简单介绍 RTX51 Tiny是一种实时操作系统(RTOS),能够用它来建立多个任务(函数)同一时候运行的应用(从宏观上看是同一时候运行的,但从微观上看,还是独立运行的).嵌入式应用系统常常有这样的需求.RTOS能够提供调度.维护.同步等功能. 实时操作系统能灵活的调度系统资源,像CPU和存储器,而且提供任务间的通信.RTX51 Tiny是一个功能强大的RTOS,且易于使用,它用于8051系列的微控制器.该RTOS最多支持16个任务,基于RTX51 Tiny构建的应用程

嵌入式Linux操作系统学习规划

开发板用友善之臂的吧mini2440 连3.5寸屏500块钱的样子有好几张DVD学习光盘 这款口碑比较高 嵌入式Linux操作系统学习规划ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9) (2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定) (3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目. 从事嵌入式软件开发的好处是: (1)目前国内外这方面的人都很稀缺.这一

计算机操作系统学习笔记_2_进程管理 --进程与线程(上)

h3.western { font-family: "Liberation Sans",sans-serif; }h3.cjk { font-family: "微软雅黑"; }h3.ctl { font-family: "AR PL UMing CN"; }h2.western { font-family: "Liberation Sans",sans-serif; font-size: 16pt; }h2.cjk { fon

计算机操作系统学习笔记_4_进程管理 --处理机调度

h3.western { font-family: "Liberation Sans",sans-serif; }h3.cjk { font-family: "微软雅黑"; }h3.ctl { font-family: "AR PL UMing CN"; }h1 { margin-bottom: 0.21cm; }h1.western { font-family: "Liberation Sans",sans-serif; f

操作系统学习笔记----进程/线程模型----Coursera课程笔记

操作系统学习笔记----进程/线程模型----Coursera课程笔记 进程/线程模型 0. 概述 0.1 进程模型 多道程序设计 进程的概念.进程控制块 进程状态及转换.进程队列 进程控制----进程创建.撤销.阻塞.唤醒.... 0.2 线程模型 为什么引入线程 线程的组成 线程机制的实现 用户级线程.核心级线程.混合方式 1. 进程的基本概念 1.1 多道程序设计 允许多个程序同时进入内存运行,目的是为了提高CPU系统效率 1.2 并发环境与并发程序 并发环境: 一段时间间隔内,单处理器上

操作系统学习之进程和线程

为什么会有进程 进程是一个计算机工程概念,进程包含一个程序运行的所有资源.进程提供程序的抽象 一个独立的逻辑流 一个私有的地址空间 逻辑控制流 如果使用调试器调试一个程序,就能看到一些列的(PC),这些PC的序列就是逻辑控制流. 并发流 一个逻辑流的执行在时间上与另一个流重叠,成为并发流,多个流并发地执行的一般现象称为并发.简单理解为同时做多件事. 并行: 一般出现在多个CPU上. 多任务: 一个进程和其他进程轮流运行的概念. 时间片: 一个进程执行他的控制流的每一时间片段. 私有地址空间 进程