第二章 操作系统

软考《架构师》

第二章 操作系统

2.1.操作系统的类型与结构

2.1.1 操作系统的定义

操作系统是管理计算机硬件与软件资源的程序,同时也是硬件与用户之间的接口。操作系统既提供了与用户交互的接口,也提供了与应用程序交互的接口。用户可以通过菜单,命令,窗口与操作系统进行交互,而应用程序可以通过系统调用(如调用系统API)来与操作系统交互。

2.1.2 操作系统分类

在涉及微内核OS时,采用了面向对象的技术,其中的“封装”、“继承”、“对象类”和“多太性”,以及在对象之间采用消息传递机制等,都十分有利于提高系统的“正确性”、“可靠性”、“已修改性”、“易扩展性”等,而且还能显著减少开发系统所付出的开销。采用微内核结构的操作系统与传统操作系统相比,其优点是提高了系统的灵活性、可扩充性,增强了系统的可靠性,提供了对分布式系统的支持。其原因如下:
①灵活性和可扩展性:由于微内核OS的许多功能是由相对独立的服务器软件来实销的,当开发了新的硬件和软件时,微内核OS只须在相应的服务器中增加新的功能,或再增加一个专门的服务器。与此同时,也必然改善系统的灵活性,不仅可在操作系统中增加新的功能,还可修改原有功能,以及删除已过时的功能,以形成一个更为精干有效的操作系统。
②增强了系统的可靠性和可移植性:由于微内核是出于精心设计和严格测试的,容易保证其正确性;另一方面是它提供了规范而精简的应用程序接口(API),为微内核外部的程序编制高质量的代码创造了条件。此外,由于有所服务器都是运行在用户态,服务器与服务器之间采用的消息传递机制,因此,当某个服务器出现错误时,不会影响内核,也不会影响其他服务器。另外,由于在微内核结构的操作系统中,所有与特定CPU和I/O设备硬件有关的代码,均放在内核和内核下面的硬件隐藏层中,而操作系统其它绝大部分(即各种服务器)均与硬件平台无关,因而,把操作系统移植到另一个计算机硬件平台上所需作的修改是比较小的。
③提供了对分布系统的支持:由于在微内核OS中,客户和服务器之间以及服务器和服务器之间的通信,是采用消息传递通信机制进行的,致使微内核OS能很好地支持分布式系统和网络系统。事实上,只要在分布式系统中赋予所有进程和服务器唯一的标识符,在微内核中在配置一张系统映射表,在进行客户与服务器通信时,只需在所发送的消息中标上发送进程和接收进程的标识符,微内核便可利用系统映射表,将消息发往目标,而无论目标是驻留在哪台机器上。
缺点:
①系统难以进行良好的整体优化,微内核系统由于核心态只实现了最基本的系统操作,这样内核以外的外部程序之间由于独立运行使得系统难以进行良好的整体优化。
②进程间相互通信的开销也较单一内核系统要大许多,从整体上看,在当前的硬件条件下,微内核在效率上的损失小鱼其在结构上获得的收益,故而选取微内核成为操作系统的一大潮流。

2.2 操作系统基础原理

2.2.1 进程管理

1、假设系统中有N个进程共享3台打印机,意味着每次只允许3个进程进入互斥段,那么信号量的初始值为3.
2、由于资源共享与进程合作,并发执行的任务(进程)之间可能产生相互制约关系,这些制约关系可分为两类:竞争与协作。
并发进程之间的竞争关系为 互斥,并发进程之间的协作关系体现为同步。同步是因合作进程之间协调彼此的工作而控制自己的执行速度,即因相互合作,相互等待而产生的制约关系。而互斥是进程之间竞争临界资源而禁止两个以上的进程同时进入临界区所发生的制约关系。
因为公共数据单元是一个临界资源,最多允许1个终端进程使用,因此需要设置一个互斥信号量S,初始值等于1。
3、进程控制块PCB的组织方式有:线性表方式、索引表方式、链接表方式。
①线性表方式:不论进程的状态如何,将所有的PCB连续地存放在内存系统区。这种方式适用于系统中进程数目不多的情况。
②索引表方式:该方式是线性表方式的改进,系统按照进程的状态分别建立就绪索引表、阻塞索引表等。
③链接表方式:系统按照进程的状态将进程的PCB组成队列,从而形成就绪队列、阻塞队列、运行队列等。
4、实时操作系统是指系统能及时响应外部事件的请求,在规定的时间内,完成对该事件的处理,并控制所有实时认为协调一致运行。实时的含义是计算机对于外来信息,能够以足够快的速度进行处理,并在呗控制对象允许的时间范围内,作出快速响应。因而,提供及时响应和高可靠性是其主要特点。通常,实时系统具有以下特点:
及时性:它一般具有高精度的实时时钟,能及时地响应外部文件请求,并在规定的时间内,完成对该文件的处理,控制实时设备和实时认为协调一致地允许。
支持多道程序设计:任务调度算法简单、实用,数据结构简单明了,任务切换速度快,能够处理时间驱动的任务和文件驱动的任务。
高可靠性:这是实时系统的主要设计目标之一。为了提高实时系统的可靠性,软硬件都必须采取相应的措施加以保证。
较强的过载防护能力:在支持多任务的实时系统中,实时认为的数目在某些时刻超出系统的处理能力时,系统要通过相应的措施(如延迟或丢弃不重要的任务)来保证实时性强的重要任务能及时处理。
线程共享的内容包括:进程代码段、进程的共有数据、进程打开的文件描述符、信号的处理器、进程的当前目录、进程用户ID与进程组ID。
线程独有的内容包括:线程ID、寄存器组的值、线程的堆栈、错误返回码、线程的信号屏蔽码。
段页式存储管理方式即将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。
前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。图中的每个节点可用于描述一个程序段或进程,乃至一条语句;结点间的向边侧用于表达两个结点之间存在的偏序(Partial Order)或前趋势关系(Precedence Relation) “→”。

存储管理

①矩阵A【100】【100】总共有100行、100列,若矩阵A按行序存放,那么每一个页面可以存放2行,也就是说矩阵的2行刚好放在1页内,访问他们需要中断1次,这样100行总共需要中断50次。
若矩阵A按列序存放,那么每一个页面可以存放2列,也就是说矩阵的2列刚好放在1页内,由于内循环“FOR J:=1 TO 100 DO” 是按列序变化,访问他们需要中断50次,这样100行总共需要中断50*100次。
②虚拟存储器(Virtual Memory):在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理存储容量大得多,可寻址的“主存储器”。虚拟存储器的容量与物理主存大小无关,而受限于计算机的地址结构和可用的磁盘容量。其页面的置换依据相应的页面置换算法进行,当页面失效时,需要进行数据交换,此时涉及到逻辑地址(虚地址)到辅存物理地址的变换。
③十进制数1111转化未二进制数为:10001010111。物理页的大小为512字节,这说明页内地址为9哥二进制位(2~9=512).
进程A的逻辑地址中,右边的9位是页内地址,左边的2位是页号,即:10001010111。页号为二进制10,即十进制的2,对应的物理页号为4.

你可能感兴趣的:(服务器,数据库,运维)