第一章 计算机系统概述

2021-08-16  本文已影响0人  喜忧参半

操作系统的特征

1、并发 2、共享 3、虚拟 4、异步
对于单核CPU,同一时刻只能执行一个程序,只能并发
对于多核CPU,同一时刻只能执行多个程序,可以并行


操作系统提供了两类接口:
(1)命令接口
使用命令接口进行作业控制的主要方式有两种,即联机控制方式脱机控制方式
作用:用户利用这些操作命令来组织和控制作业的执行。
命令接口分为两种:



并发:指两个或者多个时间在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的;
并行:指两个或者多个事件在同一时刻同时发生;

并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。

并发(concurency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。
注意:

共享:即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。


虚拟:是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的


细节点:
现代操作系统最基本的两个特征是并发共享。并发性和共享性是互为存在条件,两者缺一不可。没有并发和共享,就谈不上虚拟和异步。

系统调用是操作系统为应用程序使用内核功能所提供的接口,只能通过用户程序间接使用。

广义指令就是系统调用命令,命令解释器属于命令接口,shell是命令解析器,也属于命令接口,系统中的缓存全部由操作系统管理,操作系统不提供管理系统缓存的系统调用。

引入多道程序设计后,程序的执行就是去了封闭性和顺序性。程序执行因为共享资源及相互协同的原因产生了竞争,相互制约。考虑到竞争的公平性,程序的执行是断续的。顺序性是单道程序设计的基本特征。
计算机开机后,操作系统的程序会被自动加载到内存中的系统区,这段区域就是RAM。

库函数与系统调用的区别与联系


操作系统的历史

单道批处理

系统对作业处理成批进行,但内存中始终保持一道作业。
特点

优缺点
优点:为解决CPU等待手工操作,CPU利用不充分。
缺点CPU与I/O设备速度不匹配,当主机内存中仅存的一道作业在运行期间发出输入/输出请求后,CPU处于等待低速的I/O完成状态,并且缺少人机交互能力
因此为了进一步提高资源的利用率和系统吞吐量,引入了多道程序设计。


多道批处理

多个程序同时进入内存并允许它们在CPU中交替运行,这些程序共享系统的各种硬/软件资源。当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序。
特点

优缺点
优点: 资源利用率高;系统吞吐量大。
缺点: 用户响应时间长;缺少人机交互能力,用户不了解程序运行情况,也不能控制计算机。
【扩展】后来“通道”和“中断”技术的出现,使得多道批处理系统的I/O设备可与CPU并行工作。


分时操作系统

分时技术: 把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用。由于计算机运转快,每个用户感觉自己独占了一台计算机。
分时操作系统: 多个用户通过终端同时共享一台主机,用户可同时与主机交互而互不干扰。

多道批处理系统 分时操作系统
作业自动控制而无须人工干预 人机交互

特点

优缺点
优点:采用时间片轮转方式,较好地解决人机交互问题。
缺点:无法在规定的时间(比时间片的时间还短)内做出处理。


实时操作系统

能在某个时间限制内完成某些紧急任务而不需要时间排队。

硬实时系统 软实时系统
某动作必须绝对在规定时刻(时间范围)发生 能够接受偶尔违反时间规定且不会引起任何永久性的损害
飞行器的飞行自动控制系统 飞机订票系统、银行管理系统

特点


网络操作系统与分布式计算机系统
辨析 网络操作系统 分布式计算机系统
定义 把计算机网络中的各台计算机有机结合,实现各台计算机之间的数据传输 (1)系统中任意两台计算机通过通信方式交换信息;(2)每台计算机地位同等,没有主机和从机;(3)与网络操作系统的本质不同: 任何工作分布在几台机上,并行工作、协同完成。
特点 网络中资源共享,各台计算机之间的通信 分布性,并行性

细节点

操作系统的运行机制

为了确保操作系统的正确运行,必须区分操作系统代码和用户代码的执行。大多数计算机系统采用硬件支持,以便区分各种执行模式。
计算机硬件可以通过一个模式位(mode bit)来表示当前模式:内核模式(0)用户模式(1)
有了模式位,就可区分为操作系统执行的任务和为用户执行的任务。当计算机系统执行用户应用时,系统处于用户模式。然而,当用户应用通过系统调用,请求操作系统服务时,系统必须从用户模式切换到内核模式,以满足请求。

特权指令

指计算机中不允许用户直接使用的指令。I/O指令,置中断指令,存取用于内存保护的寄存器,送程序状态字到程序状态字寄存器(PSWR)的指令等。
硬件只有在内核模式下才允许执行特权指令。如果在用户模式下试图执行特权指令,那么硬件并不执行该指令,而是认为该指令非法,并将其以陷阱形式通知操作系统。

系统调用

计算机系统的各种硬件资源是有限,为了更好的管理这些资源,进程是不允许直接操作的,所有对这些资源的访问都必须有操作系统控制。也就是说操作系统是使用这些资源的唯一入口,而这个入口就是操作系统提供的系统调用。一般地,系统调用都是通过中断实现的,比如,linux下中断号0x80就是进行系统调用的。


系统调用的过程

当要执行系统调用时,硬件通常将它作为软件中断。控制通过中断向量转到操作系统的中断服务程序,并且模式位也设为内核模式。系统调用服务程序是操作系统的一部分。内核检查中断指令,判断发生了什么系统调用;参数表示用户程序请求何种服务。请求所需的其他信息可以通过寄存器、堆栈或内存(内存指针也可通过寄存器传递)来传递。内核首先验证参数是否正确和合法,然后执行请求,最后控制返回到系统调用之后的指令。
如果双重模式没有硬件支持,则操作系统会有严重缺点。运行出错的程序可以通过写入数据而清除整个操作系统,多个程序可以同时写入同一设备,进而可能引起灾难结果。
一旦硬件保护到位,就可检测模式错误。这些错误通常由操作系统处理。如果一个用户程序出错,如试图执行非法指令或者访问不属于自己的地址空间内存,则通过硬件陷到操作系统。陷阱如同中断一样,通过中断向量可将控制转到操作系统。当一个程序出错时,可由操作系统来异常终止。这种情况的处理代码与用户请求的异常终止一样。操作系统会给出一个适当的出错信息,并倒出(dump)程序内存。倒出内存信息通常写到文件,这样用户或程序员可检查它,纠正错误并重新启动程序。


中断机制

引入中断技术的初衷是提高多道程序运行环境中CPU的利用率。如,键盘或鼠标信息的输入、进程的管理和调度、系统功能的调用、设备驱动、文件访问等。都依赖于中断机制。

系统控制的数据结构及处理

系统中用来登记状态信息的数据结构很多,比如:作业控制块、进程控制块、设备控制块、各类链表等。为了实现有效的管理,系统需要一些基本的操作,常见的操作有以下三种:

管理 功能
进程管理 进程状态管理、进程调度和分配、创建和撤销进程控制块等。
存储器管理 存储器的空间分配和回收、内存信息保护程序、代码对换程序等。
设备管理 缓冲区管理、设备分配和回收等。
中断与异常

1.中断的引入——为了支持CPU和设备之间的并行操作
中断也称外中断,指来自CPU执行指令以外的事件的发生,如设备发出的I/O结束中断、时钟中断等。这一类中断通常是与当前执行的指令无关的事件。
2.异常的引入——表示CPU执行指令本身时出现的问题
异常也称内中断、例外或陷入,指源自CPU执行指令内部的事件,如程序的非法操作码、地址越界、算术溢出、缺页异常等。对异常的处理一般要依赖与当前程序的运行现场,不能被屏蔽。

中断执行的过程
以下是多重中断的流程,其中,1~3步是由硬件(中断隐指令)完成的;4-9步是由中断服务程序完成的。
内核
上一篇下一篇

猜你喜欢

热点阅读