操作系统——(1)计算机系统概述

本文最后更新于:5 个月前

1 操作系统的概念和功能

1.1 操作系统的概念(定义)

image-20221008235138978

image-20221008235621332

(1)操作系统是系统资源的管理者

(2)向上层提供方便易用的服务

(3)是最接近硬件的软件

1.2 操作系统的功能和目标

1.2.1 作为系统资源的管理者

执行一个程序前需要将该程序放到内存中,才能被CPU处理

image-20221008235922715

1.2.2 向上层提供方便易用的服务

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

GUI:图形化用户接口

用户可以使用形象的图形界面进行操作,而不再是需要记忆复杂的命令、参数

特点:用户说一句,系统跟着做一句

程序接口:可以在程序中进行系统调用来使用程序接口。普通用户不能直接使用程序接口,只能提供程序代码间接使用

image-20221009000728785

系统调用类似于函数调用,是应用程序请求操作系统服务的唯一方式。

image-20221009000755662

1.2.3 作为最接近硬件的层次

image-20221009000944806

通常把覆盖了软件的机器称为扩充机器,又称为虚拟机。

image-20221009001033717

image-20221009001040546

image-20221009001118921

处理机管理:进程创建、进程控制、进程同步、调度

存储器管理:

​ 内存分配和回收

​ 内存保护(确保每个用户程序仅在自己的内存空间运行;绝对不允许用户程序访问操作系统的程序和数据)

​ 地址映射:逻辑地址转换为物理地址

​ 内存扩充(虚拟存储技术):请求调入功能、置换功能

设备管理功能:

​ 主要任务:1、完成I/O请求 2、提高CPU和I/O设备的利用率

​ 缓冲管理:缓冲机制

​ 设备分配

​ 设备处理:设备驱动程序

文件管理功能:

​ 文件存储空间管理

​ 目录管理:按名存取

​ 文件的I/O管理和保护

现代操作系统的新功能

​ 系统安全:认证技术、密码技术、访问控制技术、反病毒技术

​ 网络功能和服务:网络通信、资源通信、应用互操作

​ 支持多媒体:接纳控制技术、实时调度、多媒体文件的存储

2 操作系统的特征

2.1 并发

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

并行:指两个或多个事件在同一时刻同时发生。

image-20221009002352081

并发性是操作系统一个最基本的特征。

2.2 共享

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

image-20221009002426862

2.2.1 并发和共享的关系

并发性是指计算机系统同时存在着多个运行着的程序。

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

如果失去并发性,则系统只有一个程序正在运行,则共享性失去存在的意义;

如果失去共享性,则两个程序不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发

所以,并发和共享互为存在条件。

2.3 虚拟

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

虚拟存储器技术中的“空分复用技术”

image-20221009003156972

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

image-20221009003215143

没有并发性,就谈不上虚拟性!!!

2.4 异步

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

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

只有系统拥有并发性,才有可能导致异步性image-20221009003624487

3 操作系统的发展与分类

3.1 手工操作阶段

输入纸带,纸带机(打孔),计算机计算,输出纸带

主要缺点:用户独占全机、人机速度矛盾导致资源利用率低

3.2 批处理阶段——单道批处理系统

引入脱机输入/输出技术(用外围机+磁带,通过外围机把程序提前存到磁带里),并由监督程序负责控制作业的输入、输出

image-20221009131215400

主要优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升

主要缺点:内存中仅能有一道程序运行,只有该程序运行结束之后才能调入下一道程序,CPU有大量的时间是在空闲等待I/O完成。资源利用率依然很低

3.3 批处理阶段——多道批处理系统

操作系统正式诞生,用于支持多道程序并发运行

每次往内存中读入多道程序

主要优点:多道程序并发执行,共享计算机资源,资源利用率大幅提升,CPU和其他资源更能保持“忙碌”状态,系统吞吐量大

主要缺点:用户响应时间长,没有人机交互功能(用户提交自己的作业之后就只能等待计算机处理完成,中间不能控制自己的作业执行。没有在程序运行过程中输入一些参数)

多道批处理系统需要解决的问题:

​ 处理机争用问题

​ 内存分配和保护问题

​ I/O设备分配问题

​ 文件的组织和管理问题

​ 作业管理问题

​ 用户与系统的接口问题

3.4 分时操作系统

image-20221009131426836

主要优点:用户请求可以被及时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立

主要缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环为每个用户/作业服务一个时间片,不区分任务的紧急性

3.5 实时操作系统

image-20221009131558502

实时任务的类型:

根据任务执行时是否呈现周期性来划分

根绝对截止时间的要求来划分

image-20221009131606685

3.6 其他操作系统

image-20221009131647290

分布式操作系统:

定义:基于软件实现的一种多处理机系统,是多个处理机通过通信线路互连而构成的松耦合系统

特征:分不行、透明性、同一性、全局性

功能:

单机处理机的功能

网络OS所拥有的全部功能

还包括:通信管理功能、资源管理功能、进程管理功能

嵌入式系统:

为了完成某个特定功能而设计的系统,或是有附加机制得到系统,或是其他部分的计算机硬件与软件的结合体

特点:系统内核小;具有可配置性

微机操作系统

单用户任务操作系统

单用户多任务操作系统

多用户多任务操作系统

image-20221009131656507

4 操作系统的运行机制

程序是如何运行的?

image-20221009132237408

程序运行的过程其实就是CPU执行一条一条的机器指令的过程

“指令”就是处理机能识别、执行的最基本命令

image-20221009132306224

4.1 特权指令VS非特权指令

操作系统内核作为“管理者”,有时会让CPU执行一些“特权指令”。如内存清零指令,这些指令影响重大,只允许“管理者”——即操作系统内核来使用

应用程序只能使用“非特权指令”

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

4.2 内核态VS用户态

image-20221009132338452

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

4.3 内核态、用户态的切换

image-20221009132433170

image-20221009132535620

除了非法使用特权指令之外,还有很多时间会触发中断信号。一个共性是,但凡需要操作系统介入的地方,都会触发中断信号

image-20221009132611123

image-20221009132638323

5 中断和异常

5.1 中断的作用

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

“中断”是让操作系统内核夺回CPU使用权的唯一途径

如果没有“中断”机制,那么一旦应用程序上CPU运行,COU就会一直运行这个应用程序

5.2 中断的类型

5.2.1 内中断

与当前执行的指令有关,中断信号来源于CPU内部

  1. 若当前执行的指令是非法的,则会引发一个中断信号

  2. 有时候应用程序想请求操作系统内核的服务,此时会执行一条特殊的指令——陷入指令(trap),该指令会引发一个内部中断信号

执行“陷入指令”,意味着应用程序主动地将CPU控制权还给操作系统内核。“系统调用”就是通过陷入指令完成的。

5.2.2 外中断

与当前执行的指令无关,中断信号来源于CPU外部

每一条指令执行结束时,CPU都会例行检查是否有外中断信号

1.时钟中断——由时钟部件(每隔一个时间片会给CPU发送一个时钟中断信号)发来的中断信号

2.I/O中断——由输入/输出设备发来的中断信号(当输入输出任务完成时,向CPU发送中断信号

image-20221009133348060

5.3 中断机制的基本原理

image-20221009133437913

image-20221009133503907

6 系统调用

6.1 什么是系统调用,作用?

image-20221009133559774

image-20221009133605473

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

image-20221009133659246

6.3 为什么系统调用是必须的?

如果两个进程可以随意地、并发地共享打印机资源,会导致内容混杂在一起

解决方法:由操作系统内核对共享资源进行统一的管理,并向上提供“系统调用”,用户进程想要使用打印机这种共享资源,只能通过系统调用向操作系统内核发出请求,内核会对各个请求进行协调处理

6.4 什么功能要用到系统调用?

image-20221009133819058

image-20221009133830499

6.5 系统调用的过程

image-20221009133857760

注意:1.陷入指令是在用户态执行的,执行陷入指令之后立即引发一个内中断,使CPU进入核心态

​ 2.发出系统调用请求是在用户态,对系统调用的相应处理是在核心态下进行

image-20221009133948745

image-20221009133958224

image-20221009134126178

7 操作系统的体系结构

7.1 操作系统的内核

image-20221009134214446

原语是一种特殊的程序,具有原子性。也就是说,这段程序的运行必须一气呵成,不可被“中断”

内核是操作系统最基本、最核心的部分。实现操作系统功能的那些程序就是内核程序

image-20221009134246249

image-20221009134307513

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

image-20221009134334848

注意:变态的过程是有成本的,要消耗不少时间,频繁地变态会降低系统性能

image-20221009134410612

image-20221009134500210

模块化结构:

将OS按功能划分成若干模块,并规定好各模块间的接口,称为:模块-接口法“

优点:提高OS设计的正确性、可理解性和易维护性

​ 增强OS的可适应性

​ 加速OS的开发过程

大部分现代OS采用可加载的内核模块来设计

内核有一组核心组件,提供核心服务

其他服务可在内核运行时动态实现(动态链接)

每个组件在需要时被加载到内核

微内核OS结构

基本概念

足够小的内核 应用“机制与策略分裂”原理

基于客户/服务器模式 采用面向对象技术

基本功能

进程管理、低级存储器管理、中断和陷入处理

微内核系统的优点和存在的问题

优点:提高了系统的可扩展性

增强了系统的可靠性

可移植性强

提供了对分布式系统的支持

融入了面向对象技术

缺点:运行效率有所降低

主要原因:在完成一次客户对操作系统提出的服务请求时,需要利用消息实现多次交互和和进行用户/内核模型与上下文的多次切换

8 操作系统引导

操作系统引导——开机的时候,怎么让操作系统运行起来?

Snipaste_2022-10-09_13-46-13

image-20221009134704626

注:完整的操作系统初始化程序(即启动管理程序)可在个人目录下找到

9 虚拟机

9.1 传统计算机

image-20221009134744762

9.2 虚拟机

image-20221009134819994

image-20221009134836404

image-20221009134845312

image-20221009134900851


操作系统——(1)计算机系统概述
https://changzer.gitee.io/2022/10/09/操作系统——计算机系统概述/
作者
长泽
发布于
2022年10月9日
许可协议