第一章 计算机系统概述

1、操作系统的基本概念


1.1、操作系统的概念

操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件

image-20220120214020035

①操作系统是系统资源的管理者。
②向上提供方便易用的服务。
③是最接近硬件的一层软件。


1.2、操作系统的特征


1.2.1、并发

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

常考易混概念――并行:指两个或多个事件在同一时刻同时发生。

操作系统的并发性指计算机系统中“同时”运行着多个程序,这些程序宏观上看是同时运行着的,而微观上看是交替运行的。
操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的

注意(重要考点):
单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行。
多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行。
比如Intel的第八代i3处理器就是4核CPU,意味着可以并行地执行4个程序

1.2.2、共享

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

(1)互斥共享方式

系统中的某些资源,如打印机,磁带机,虽然可供多个进程使用,但为使得所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程访问该资源

(2)同时共享方式

系统中的某些资源,这类资源允许在一段时间内由多个进程“同时”访问。这里所说的“同时”通常是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问即“分时共享”的。

生活实例:
互斥共享方式:使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。
同时共享方式:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。

并发和共享之间的联系
并发和共享是操作系统两个最基本的特征,两者之间互为存在的条件:
①资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题;
②若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法并发执行。

1.2.3、虚拟

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

实例

虚拟技术中的“空分复用技术”。

image-20220121170052441


虚拟技术中的“时分复用技术”。微观上处理机在各个微小的时间段内交替着为各个进程服务。

image-20220121170227326


操作系统的虚拟技术可归纳为:时分复用技术,如处理器的分时共享;空分复用技术,如虚拟存储器。

显然,如果失去了并发性,则一个时间段内系统中只需运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性

1.2.4、异步

异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。

由于并发运行的程序会争抢着使用系统资源,而系统中的资源有限,因此进程的执行不是一贯到底的,而是走走停停的,以不可预知的速度向前推进。

如果失去了并发性,即系统只能串行地运行各个程序,那么每个程序的执行会一贯到底。只有系统拥有并发性,才有可能导致异步性。

1.3、操作系统的目标和功能


1.3.1、操作系统作为系统资源的管理者

image-20220120222638678

(1)处理机管理

在多道程序环境下,处理机的分配和运行都以进程(或线程)为基本单位,因而对处理机的管理可归结为对进程的管理。并发是指计算机内同时运行多个进程,因而进程何时创建、何时撤销、如何管理、如何避免冲突、合理共享就是进程管理的最主要任务。进程管理的主要功能包括进程控制进程同步进程通信死锁处理处理机调度等。

(2)存储器管理

存储器管理是为了给多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能

(3)文件管理

计算机中信息都是以文件的形式存在的,操作系统中负责文件管理的部分称为文件系统。文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等

(4)设备管理

设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓冲管理、设备分配、设备处理和虚拟设备等功能

案列image-20220120221530951

1.3.2、操作系统作为用户与计算机硬件系统之间的接口

image-20220120230250886

封装思想:操作系统把一些丑陋的硬件功能封装成简单易用的服务,使用户能更方便地使用计算机,用户无需关心底层硬件的原理,只需要对操作系统发出命令即可。

为了让用户方便、快捷、可靠的操作计算机硬件并运行自己的程序,操作系统还提供了用户接口。操作系统提供的接口主要分为两类:一类命令接口,用户利用这些操作命令来组织和控制作业的执行;另一类是程序接口,编程人员可以使用它们来请求操作系统服务。

(1)命令接口

命令接口又分为联机命令接口和脱机命令接口。

联机命令接口又称为交互命令接口,适用于分时或实时系统的接口。它由一组键盘操作命令组成。用户通过控制台或终端输入操作命令,向系统提出各种服务要求。用户每输入一条命令,控制权就转交给操作系统的命令解释程序,然后由命令解释程序解释并执行输入的命令,完成指定的功能。之后,控制权转回到控制台或终端,此时用户又可输入下一条命令。特点:用户说一句,系统跟着做一句。

image-20220120232406806

脱机命令接口又称为批处理命令接口,适用于批处理系统,它由一组作业控制命令组成。脱机用户不能直接干预作业的运行,而应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统。系统调度到该作业时,由系统中的命令解释程序逐条解释执行作业说明书上的命令,从而间接地控制作业的运行。特点:用户说一堆,系统跟着做一堆。

image-20220121001427843

(2)程序接口

程序接口由一组系统调用(也称广义指令)组成。用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,如使用各种外部设备、申请分配和回收内存及其他各种要求。
当前最为流行的是图形用户界面(GUI),即图形接口。GUI最终是通过调用程序接口实现的,用户通过鼠标和键盘在图形界面上单击或使用快捷键,就能很方便地使用操作系统。严格来说,图形接口不是操作系统的一部分,但图形接口所调用的系统调用命令是操作系统的一部分。

1.3.3、操作系统用作扩充器

没有任何软件支持的计算机称为裸机,它仅构成计算机系统的物质基础,而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。裸机在最里层,其外面是操作系统。操作系统所提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器:因此,我们通常把覆盖了软件的机器称为扩充机器或虚拟机

类比汽车:
发动机——只会转;轮胎——只会滚;
在原始的硬件机器上覆盖一层传动系统――让发动机带着轮子转――使原始的硬件机器得到拓展

操作系统对硬件机器的拓展:将CPU、内存、磁盘、显示器、键盘等硬件合理地组织起来,让各种硬件能够相互协调配合,实现更多更复杂的功能

2、操作系统的发展与分类


2.1、手工操作阶段

用户在计算机上算题的所有工作都要人工干预,如程序的装入、运行、结果的输出等。随着计算机硬件的发展,人机矛盾(速度和资源利用)越来越大,必须寻求新的解决办法。

image-20220121171727265

手工操作阶段有两个突出的缺点:
①用户独占全机,不会出现因资源已被其他用户占用而等待的现象,但资源利用率低。
②CPU等待手工操作,CPU的利用不充分。
唯一的解决办法就是用高速的机器代替相对较慢的手工操作来对作业进行控制。

2.2、批处理阶段

为了解决人机矛盾及CPU和IO设备之间速度不匹配的矛盾,出现了批处理系统。它按发展历程又分为单道批处理系统多道批处理系统(多道程序设计技术出现以后)。

2.2.1、单道批处理系统

系统对作业的处理是成批进行的,但内存中始终保持一道作业。单道批处理系统是在解决人机矛盾及CPU和I/O设备速率不匹配的矛盾中形成的。单道批处理系统的主要特征如下:
1)自动性。在顺利的情况下,磁带上的一批作业能自动地逐个运行,而无须人工干预。
2)顺序性。磁带上的各道作业顺序地进入内存,各道作业的完成顺序与它们进入内存的顺序在正常情况下应完全相同,亦即先调入内存的作业先完成.

3)单道性。内存中仅有一道程序运行,即监督程序每次从磁带土只调入一道程序进入内存
运行,当该程序完成或发生异常情况时,才换入其后继程序进入内存运行。

image-20220121173144848

主要优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升。
主要缺点:内存中仅能有一道程序运行,只有该程序运行结束之后才能调入下一道程序。CPU有大量的时间是在空闲等待I/O完成。资源利用率依然很低。

2.2.2、多道批处理系统

多道程序设计技术允许多个程序同时进入内存并允许它们在CPU中交替地运行,这些程序共享系统中的各种硬/软件资源。当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序。它不采用某些机制来提高某一技术方面的瓶颈问题,而让系统的各个组成部分都尽量去“忙”,因此切换任务所花费的时间很少,/可实现系统各部件之间的并行工作,使其整体在单位时间内的效率翻倍。

image-20220121173758512

2.3、分时操作系统

所谓分时技术,是指把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时停止运行,把处理器让给其他作业使用,等待下一轮再继续运行。由于计算机速度很快,作业运行轮转得也很快,因此给每个用户的感觉就像是自己独占一台计算机。image-20220121174034923

分时系统的主要特征如下:
1)同时性。同时性也称多路性,指允许多个终端用户同时使用一台计算机,即一台计算机与若干台终端相连接,终端上的这些用户可以同时或基本同时使用计算机。
2)交互性。用户能够方便地与系统进行人机对话,即用户通过终端采用人机对话的方式直接控制程序运行,与同程序进行交互。
3)独立性。系统中多个用户可以彼此独立地进行操作,互不干扰,单个用户感觉不到别人也在使用这台计算机,好像只有自己单独使用这台计算机一样。
4)及时性。用户请求能在很短时间内获得响应。分时系统采用时间片轮转方式使一台计算机同时为多个终端服务,使用户能够对系统的及时响应感到满意。

主要优点:用户请求可以被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用
户对计算机的操作相互独立,感受不到别人的存在。
主要缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务的紧急性。

2.4、实时操作系统

为了能在某个时间限制内完成某些紧急任务而不需要时间片排队,诞生了实时操作系统。这里的时间限制可以分为两种情况:
①若某个动作必须绝对地在规定的时刻(或规定的时间范围)发生,则称为硬实时系统。如飞行器的飞行自动控制系统,这类系统必须提供绝对保证,让某个特定的动作在规定的时间内完成。
②若能够接受偶尔违反时间规定且不会引起任何永久性的损害,则称为软实时系统,如飞机订票系统、银行管理系统。

在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并在严格的时限内处理完接收的事件。实时操作系统的主要特点是及时性和可靠性

2.5、其他几种操作系统

网络操作系统:是伴随着计算机网络的发展而诞生的,能把网络中各个计算机有机地结合起来,实现数据传送等功能,实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信。(如: Windows NT就是一种典型的网络操作系统,网站服务器就可以使用)

分布式操作系统:主要特点是分布性和并行性。系统中的各台计算机地位相同,任何工作都可以分布在这些计算机上,由它们并行、协同完成这个任务

个人计算机操作系统:如 Windows XP、MacOS,方便个人使用。

3、操作系统的运行环境


3.1、操作系统的运行机制


3.1.1、内核程序和应用程序

计算机系统中,通常CPU 执行两种不同性质的程序:

(1)内核程序
操作系统的内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态。

(2)应用程序
为了保证系统能安全运行,普通应用程序只能执行非特权指令,运行在用户态

3.1.2、特权指令和非特权指令

所谓特权指令,是指计算机中不允许用户直接使用的指令,如I/O指令、置中断指令,存取用于内存保护的寄存器、送程序状态字到程序状态字寄存器等的指令。
应用程序只能使用非特权指令,如:加法指令、减法指令。

在CPU设计和生产的时候就划分了特权指令和非特权指令,因此CPU执行一条指令前就能判断出其类型。

3.1.3、内核态和用户态

CPU能判断出指令类型,但是它怎么区分此时正在运行的是内核程序or应用程序?

CPU有两种状态,“内核态”和“用户态”。
处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令和非特权指令。
处于用户态时,说明此时正在运行的是应用程序,此时只能执行非特权指令。

**拓展:**CPU中有一个寄存器叫程序状态字寄存器(PSW),其中有个二进制位,1表示“内核态”,0表示“用户态”
**别名:**内核态=核心态=管态;用户态=目态

3.1.4、内核

内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。由很多内核程序组成操作系统内核。

在软件工程思想和结构程序设计方法影响下诞生的现代操作系统,几乎都是层次式的结构。操作系统的各项功能分别被设置在不同的层次上。一些与硬件关联较紧密的模块,如时钟管理、中断处理、设备驱动等处于最低层。其次是运行频率较高的程序,如进程管理、存储器管理和设备管理等。这两部分内容构成了操作系统的内核。这部分内容的指令操作工作在核心态。

image-20220122133923254



3.1.5、状态切换

在这里插入图片描述


3.2、中断和异常


3.2.1、中断的作用

CPU上会运行两种程序,一种是操作系统内核程序,一种是应用程序。

“中断”会使CPU由用户态变为内核态,使操作系统重新夺回对CPU的控制权。

3.2.2、中断和异常的定义

中断(Interruption)也称外中断,指来自CPU执行指令以外的事件的发生,如设备发出的I/O结束中断,表示设备输入/输出处理已经完成,希望处理机能够向设备发下一个输入/输出请求,同时让完成输入/输出后的程序继续运行。时钟中断,表示一个固定的时间片已到,让处理机处理计时、启动定时运行的任务等。这一类中断通常是与当前指令执行无关的事件,即它们与当前处理机运行的程序无关。

异常(Exception)也称内中断、例外或陷入(trap),指源自CPU 执行指令内部的事件,如程序的非法操作码、地址越界、算术溢出,虚存系统的缺页及专门的陷入指令等引起的事件。对异常的处理一般要依赖于当前程序的运行现场,而且异常不能被屏蔽,一旦出现应立即处理。

image-20220122131933780

3.2.3、中断机制的基本原理

不同的中断信号,需要用不同的中断处理程序来处理。当CPU检测到中断信号后,会根据中断信号的类型去查询“中断向量表”,以此来找到相应的中断处理程序在内存中的存放位置。

3.3、系统调用


3.3.1、什么是系统调用?

所谓系统调用,是指用户在程序中调用操作系统所提供的一些子功能,系统调用可视为特殊的公共子程序。系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作(如存储分配、进行IO传输及管理文件等),都必须通过系统调用方式向操作系统提出服务请求,并由操作系统代为完成。通常,一个操作系统提供的系统调用命令有几十条乃至上百条之多。

image-20220122154405781

3.3.2、什么功能要用系统调用实现?
  • 设备管理。完成设备的请求或释放,以及设备启动等功能。
  • 文件管理。完成文件的读、写、创建及删除等功能。
  • 进程控制。完成进程的创建、撤销、阻塞及唤醒等功能。
  • 进程通信。完成进程之间的消息传递或信号传递等功能。
  • 内存管理。完成内存的分配、回收以及获取作业占用内存区大小及始址等功能。

3.3.3、系统调用执行过程

系统调用的处理需要由操作系统内核程序负责完成,要运行在核心态。用户程序可以执行陷入指令(又称访管指令或trap指令)来发起系统调用,请求操作系统提供服务。
可以这么理解,用户程序执行“陷入指令”,相当于把CPU的使用权主动交给操作系统内核程序(CPU 状态会从用户态进入核心态),之后操作系统内核程序再对系统调用请求做出相应处理。处理完成后,操作系统内核程序又会把CPU的使用权还给用户程序(即CPU状态会从核心态回到用户态)。

操作系统的运行环境就可以理解为:用户通过操作系统运行上层程序(如系统提供的命令解释程序或用户自编程序),而这个上层程序的运行依赖于操作系统的底层管理程序提供服务支持,当需要管理程序服务时,系统则通过硬件中断机制进入核心态,运行管理程序;也可能是程序运行出现异常情况,被动地需耍管理程序的服务,这时就通过异常处理来进入核心态。管理程序运行结束时,用户程序需要继续运行,此时通过相应的保存的程序现场退出中断处理程序或异常处理程序,返回断点处继续执行,如图下图所示。image-20220122160616204

4、操作系统的体系结构

image-20220122163606049

注意:
操作系统内核需要运行在内核态。
操作系统的非内核功能运行在用户态。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AOz108SE-1646822555028)(img/image-20220122164439164.png)]

image-20220122163837424

一个故事:现在,应用程序想要请求操作系统的服务,这个服务的处理同时涉及到进程管理、存储管理、设备管理
注意:变态的过程是有成本的,要消耗不少时间,频繁地变态会降低系统性能

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值