王道操作系统 第一章 计算机系统概述

第一章:计算机系统概述

知识框架

image-20210110173346196n

 

1.1 操作系统管理

1.1.1 操作系统的概念操作系统 (Operating System, OS) 是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。

操作系统是计算机系统中最基本的系统软件。

 

1.1.2 操作系统的特征

操作系统的基本特征包括并发、共享、虚拟和异步。

井发和共享是操作系统两个最基本的特征,这两者之间又是互为存在条件的:

①资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题;

②若系统不能对资源共享实施有效的管理,也必将影响到程序的并发执行,甚至根本无法并发执行。

并发-基本

概念

并发是指两个或多个事件在同一时间间隔内发生 。操作系统的并发性是指计算机系统中同时存在多个运行着的程序,因此它具有处理和调度多个程序同时执行的能力。在操作系统中,引入进程的目的是使程序能并发执行。

并发&并行 区别

并发性:是指两个或多个事件在同一时间间隔内发生。

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

共享-基本

概述

资源共享即共享,是指系统中的资源可供内存中多个井发执行的进程共同使用。共享可分为以下两种资源共享方式:

  1. 互斥共享方式
    • 仅当进程 A 访问完井释放该资源后,才允许另 一进程对该资源进行访问。我们把这种资源共享方式称为互斥式共享,而把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源
    • 计算机系统 中的大多数物理设备,以及某些软件中所用的械、变量和表格,都属于临界资源,它们都要求被互斥地共享。
  2. 同时访问方式
虚拟

概念

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

虚拟技术分类

  • 时分复用技术,如处理器的分时共享。

  • 空分复用技术,如虚拟存储器。

异步

概念

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

 

1.1.3 操作系统的目标和功能

操作系统作为计算机系统资源的管理者

  1. 处理机管理

在多道程序环境下,处理机的分配和运行都以进程(或线程)为基本单位,因而对处理机的管理可归结为对进程的管理。

进程管理的主要功能有:进程控制、进程同步、进程通信、死锁处理、处理机调度等 。

  1. 存储器管理

存储器管理是为了给多道程序的运行提供良好的环境,方便用户使用以及提高内存的利用率。

主要包括内存分配、地址映射 、 内存保护与共享和内存扩充等功能。

  1. 文件管理

计算机中的信息都是以文件的形式存在的,操作系统中负责文件管理的部分称为文件系统。

文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等。

  1. 设备管理

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

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

操作系统提供的接口主要分为两类:一类是命令接口,用户利用这些操作命令来组织和控制作业的执行;另一类是程序接口,编程人员可以使用它们来请求操作系统服务。

  1. 命令接口
    • 使用命令接口进行作业控制的主要方式有两种,即联机控制方式和脱机控制方式。按作业控制方式的不同 , 可以将命令接口分为联机命令接口和脱机命令接口。
    • 联机命令接口又称交互式命令接口 ,适用于分时或实时系统的接口。
    • 脱机命令接口又称批处理命令接口 ,即适用于批处理系统, 它由一组作业控制命令 (或称作业控制语句)组成。
  2. 程序接口
    • 程序接口由一组系统调用命令 (简称系统调用,也称广义指令)组成。

操作系统用做扩充机器

由操作系统提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器,通常把覆盖了软件的机器称为扩充机器,又称之为虚拟机

 

1.2 操作系统的发展与分类

1.2.1 手工操作阶段 (此阶段无操作系统 )

手工操作阶段有两个突出的缺点

① 用户独占全机。不会出现因资源己被其他用户占用而等待的现象,但资源利用率低。

② CPU等待手工操作, CPU的利用不充分。

 

1.2.2 批处理阶段(操作系统开始出现)

它按发展历程又分为单道批处理系统、多道批处理系统(多道程序设计技术出现以后)。

单道批处理系统

单道批处理系统的主要特征如下:

  • 自动性
  • 顺序性
  • 单道性

多道批处理系统

多道程序设计的特点有:多道、宏观上井行、微观上串行。

多道:计算机内存中同时存放多道相互独立的程序。

宏观上井行:同时进入系统的多道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。

微观上串行:内存中的多道程序轮流占有CPU,交替执行。

 

1.2.3 分时操作系统

在操作系统中采用分时技术就形成了分时系统。分时技术就是把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用。

分时操作系统是多个用户通过终端同时共享一台主机,这些终端连接在主机上,用户可以同时与主机进行交互操作而互不干扰。

主要特征

同时性:同时性也称多路性,指允许多个终端用户同时使用一台计算机,即一台计算机与若干台终端相连接,终端上的这些用户可以同时或基本同时使用计算机。

交互性:用户能够方便地与系统进行人一机对话,即用户通过终端采用人机对话的方式直接控制程序运行,与同程序进行交互。

独立性:系统中多个用户可以彼此独立地进行操作,互不干扰,单个用户感觉不到别人也在使用这台计算机,好像只有自己单独使用这台计算机一样。

及时性:用户请求能在很短时间内获得响应。分时系统采用时间片轮转方式使一台计算 机同时为多个终端服务,使用户能够对系统的及时响应感到满意。

 

1.2.4 实时操作系统

为了能在某个时间限制内完成某些紧急任务而不需时间片排队,诞生了实时操作系统。

这里的时间限制可以分为两种情况:

硬实时系统

某个动作必须绝对地在规定的时刻(或规定的时间范围)发生。

例如,飞行器的飞行自动控制系统,这类系统必须提供绝对保证,让某 个特定的动作在规定的时间内完成。

软实时系统

能够接受偶尔违反时间规定,并且不会引起任何永久性的损害。

如飞机订票系统、银行管理系统。

 

1.2.5 网络操作系统和分布式计算机系统

网络操作系统

把计算机网络中的各台计算机有机地结合起来,提供一种统一、经济而有效的使用各台计算机的方法,实现各个计算机之间的互相传送数据。网络操作系统最主要的特点是网络中各种资源的共享以及各台计算机之间的通信。

分布式计算机系统

用于管理分布式计算机系统的操作系统称为分布式计算机系统。

系统组成条件

  • 系统中任意两台计算机通过通信方式交换信息;
  • 系统中的每一台计算机都具有同等的地位,即没有主机也没有从机;
  • 每台计算机上的资源为所有用户共享;
  • 系统中的任意若干台计算机都可以构成一个子系统,并且 还能重构;
  • 任何工作都可以分布在几台计算机上,由它们并行工作、协同完成。

主要特点:分布性和并行性。

 

1.2.6 个人计算机操作系统

个人计算机操作系统是目前使用最广泛的操作系统, 广泛应用于文字处理 、电子表格 、 游戏等。

 

1.3 操作系统的运行环境

1.3.1 操作系统的运行机制

计算机系统中,通常CPU执行两种不同性质的程序:一种是操作系统内核程序;另一种是用户自编程序或系统外层的应用程序。

操作系统在具体实现上划分了用户态 (目态) 和 核心态 (管态),以严格区分两类程序。

特权指令 & 非特权指令

特权指令:是指有特殊权限的指令,由于这类指令的权限最大,如果使用不当,将导致整个系统崩溃。比如: 清内存、置时钟、分配系统资源、修改虚存的段表或页表、修改用户的访问操权限等。特权指令必须在核心态执行

非特权指令:只能在用户态下使用的指令。

从用户态转换为核心态的唯一途径是中断或异常

访管指令与访管中断

访管指令:是一条可以在用户态下执行的指令,本身不是特权指令,其基本功能是让程序拥有“自愿进管”的手段,从而引起访管中断。程序员使用访管指令向操作系统请求服务。

访管中断:由访管指令产生进而产生一个中断事件(自愿中断),将操作系统转换为核心态,称为访管中断。

系统内核

内核是计算机上配置的底层软件,是计算机功能的延伸。 大多数操作系统内核包括四个方面的内容。

时钟管理

在计算机的各种部件中,时钟是最关键的设备。

时钟的第一功能是计时,操作系统需要通过时钟管理,向用户提供标准的系统时间。

另外,通过时钟中断的管理,可以实现进程的切换。

中断机制

引入中断技术的初衷是提高多道程序运行环境中CPU的利用率,而且主要是针对外部设备的。后来逐步得到发展,形成了多种类型,成为操作系统各项操作的基础。

中断机制中,只有一小部分功能属于内核,负责保护和恢复中断现场的信息,转移控制权到相关的处理程序。

原语

按层次结构设计的操作系统,底层必然是一些可被调用的公用小程序,它们各自完成一个规定的操作。其特点是:

  1. 它们处于操作系统的最底层,是最接近硬件的部分。
  2. 这些程序的运行具有原子性一一其操作只能一气呵成 (这主要是从系统的安全性和便于管理考虑的) 。
  3. 这些程序的运行时间都较短 ,而且调用频繁。

通常把具有这些特点的程序称为原语 (Atomic Operation)。定义原语的直接方法是关闭中断 ,让它的所有动作不可分割地进行完再打开中断 。

系统中的设备驱动、 CPU切换、进程通信等功能中的部分操作都可以定义为原语,使它们成为内核的组成部分。

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

系统中用来登记状态信息的数据结构很多,比如作业控制块、进程控制块(PCB),设备控制块、各类链表、消息队列、缓冲区、空闲区登记表、内存分配表等。

为了实现有效的管理,系统需要一些基本的操作,常见的操作有以下三种。

  1. 进程管理: 进程状态管理、进程调度和分派、创建与撤销进程控制块等。
  2. 存储器管理 : 存储器的空间分配和回收、内存信息保护程序、代码对换程序等。
  3. 设备管理 : 缓冲区管理 、 设备分配和回收等。

总结:核心态指令实际上包括系统调用类指令和一些针对时钟、 中断和原语的操作指令。

 

1.3.2 中断和异常的概念

概述

在操作系统中引入核心态和用户态这两种工作状态后, 就需要考虑这两种状态之间如何切换。操作系统内核工作在核心态,而用户程序工作在用户态。在实际操作系统中,CPU运行上层程序时唯一能进入这些“门”的途径就是通过中断或异常。

当中断或异常发生时,运行用户态的CPU会立即进入核心态,这是通过硬件实现的。

中断 (Interruption)

概念

也称外中断,指来自CPU执行指令以外的事件的发生。

分类

I/O结束中断:表示设备输入/输出处理己经完成,希望处理机能够向设备发下一个输入/输出请求,同时让完成输入/输出后的程序继续运行。

时钟中断:表示一个固定的时间片己到,让处理机处理计时、启动定时运行的任务等。这一类中断通常是与当前程序运行无关的事件,即它们与当前处理机运行的程序无关。

异常 (Exception)

概述

也称内中断、例外或陷入(Trap),指源自CPU执行指令内部的事件,如程序的非法操作码、地址越界、算术溢出、虚存系统的缺页以及专门的陷入指令等引起的事件。

对异常的处理一般要依赖于当前程序的运行现场,而且异常不能被屏蔽,一旦出现应立即处理。

image-20210110193106294n
内中断和外中断的联系与区别

 

1.3.3 系统调用

概述

系统调用 就是用户在程序中调用操作系统所提供的一些子功能,系统调用可以被看做特殊的公共子程序。

系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作 (如存储分配、进行I/O传输以及管理文件等),都必须通过系统调用方式向操作系统提出服务请求,并由操作系统代为完成。

系统调用命令是由操作系统提供的一个或多个子程序模块实现的。

功能分类

设备管理:完成设备的请求或释放,以及设备启动等功能。

文件管理:完成文件的读、 写、 创建及删除等功能。

进程控制:完成进程的创建、撤销、阻塞及唤醒等功能。

进程通信:完成进程之间的消息传递或信号传递等功能。

内存管理:完成内存的分配、回收以及获取作业占用内存区大小及始址等功能。

image-20210110192945942n
系统调用执行过程

注意

  1. 由用户态进入核心态,不仅仅是状态需要切换。而且,所使用的堆栈也可能需要由用户堆栈切换为系统堆栈 ,但这个系统堆栈也是属于该进程的。
  2. 如果程序的运行由用户态转到核心态,会用到访管指令,访管指令是在用户态使用的,所以它不可能是特权指令。

 

1.4 操作系统的体系结构

1.4.1 大内核和微内核

大内核

概念:将操作系统的主要功能模块都作为一个紧密联系的整体运行在核心态,从而为应用提供高性能的系统服务。

优点:因为各管理模块之间共享信息,能有效利用相互之间的有效特性,所以具有无可比拟的性能优势。

缺点:随着体系结构和应用需求的不断发展,复杂的交互关系也使得定义操作系统内核层次间接口非常困难,内核代码难以维护 (微内核产生背景) 。

微内核

概念:它将内核中最基本的功能(如进程管理等)保留在内核,而将那些不需要在核心态执行的功能移到用户态执行,从而降低了内核的设计复杂性。

优点:有效地分离了内核与服务、服务与服务,使得它们之间的接口更加清晰,维护的代价大大降低,各部分可以独立地优化和演进,从而保证了操作系统的可靠性。

缺点:因为需要频繁地在核心态和用户态之间进行切换,操作系统的执行开销偏大。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值