文章目录
- 关于本书内容
- 0.前言
- 1.1操作系统的功能
- 1.1.1 用户视角
- 1.1.2 系统视角
- 1.1.3 操作系统的定义
- 1.2 计算机系统的组成
- 1.2.1 计算机系统的运行
- 1.2.2 存储结构
- 1.2.3 I/O结构
- 1.3 计算机系统体系结构
- 1.4 操作系统的结构
- 1.5 操作系统的执行
- 1.5.1 双重模式与多重模式的执行
- 1.5.2 定时器
关于本书内容
- 概论:1~2章解释了操作系统是什么,他们能做什么,以及他们是如何设计与构造的
- 进程管理:3~7章描述了进程概念和并发,这是现代操作系统的核心。进程是系统内的工作单元。
- 内存管理:8~9章是关于进程执行期间的内存管理的。
- 存储管理:10~13章描述了现代计算机系统如何处理文件系统、大容量存储和I/O。
- 保护与安全:14~15章讨论了计算机系统保护与安全的必须机制。
- 案例研究:16~17章详细研究了操作系统实际案例
0.前言
**操作系统(operating system)**是管理计算机硬件的程序。它还为应用程序提供基础,并且充当计算机用户和计算机硬件的中介。
操作系统的令人惊奇的特点,完成这些任务的方式多种多样:
大型机的操作系统主要用于优化硬件使用率
个人计算机(Person Computer,PC)的操作系统支持复杂游戏、商业应用和这两者之间的其他应用。
移动计算机的操作系统为用户提供了一个环境,以便计算机之间进行交互及执行程序。
因此,操作系统设计有的关注于便捷或高效、有的则兼顾两者
1.1操作系统的功能
- 计算机系统四个组成部分:硬件、操作系统、系统程序和用户程序、用户
- 硬件为系统提供了基本的计算资源。应用程序规定了用户按何种方式使用这些资源,操作系统不过提供了一个方便其它程序做有用工作的环境。
1.1.1 用户视角
操作系统设计的主要目的是用户使用方便,次要的是性能,不在乎的是资源利用
1.1.2 系统视角
操作系统看作资源分配器。
- 操作系统管理这些资源
- 面对冲突的资源请求,操作系统必须决定如何为各个程序和用户分配资源,以便计算机系统能有效而公平的运行。
操作系统是控制程序,管理用户程序的执行防止计算机资源的错误使用或使用不当。
1.1.3 操作系统的定义
操作系统是一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度,以及方便用户的程序集合。
操作系统的目标:执行用户程序,更容易地解决用户问题。使计算机系统使用方便。使计算机系统使用方便。
1.2 计算机系统的组成
1.2.1 计算机系统的运行
现代通用计算机系统由一个或多个CPU和若干设备控制器通过共同的总线相连而成。
打开电源或重启——运行初始化程序(引导程序)——定位操作系统并将其装入内存——执行第一个进程
引导程序:通常位于ROM或者EEPROM,称为计算机硬件中的固件。用来初始化系统的所有部分(CPU寄存器,设备控制器和内存)。
中断:硬件可随时通过系统总线向CPU发出信号,出发中断。软件通过系统调用(或者其他特别操作)触发中断。(当CPU被中断时,它停止正在做的事,并转到固定位置再继续执行)
发生中断——调用一个通用子程序检查中断信息——使用中断处理指针表(中断向量)——间接调用中断处理子程序
现在的操作系统都是以中断为驱动的。
1.2.2 存储结构
内存是处理器可以直接访问的唯一的大容量存储区域(也称为随机访问内存RAM)
内存通常为动态随机访问内存(Dynamic Random Access Memory,DRAM),它采用半导体技术来实现。
CPU只能从内存中加载指令,因此执行程序必须位于内存。
辅存:一般是磁盘。(因为内存太小,而且是易失性存储设备。)
各种存储系统的差别主要是速度、价格、大小和易失性。
易失性:断电时,会丢失内容
价格逐渐降低,大小逐渐增大,速度逐渐减慢,主存以上易失
1.2.3 I/O结构
DMA(直接内存访问)
用于高速I/O设备,能够以接近内存速度传送信息。
设备控制器无需CPU干预直接将数据块从缓冲存储器直接传输到主存。
每个块只产生一个中断,而不是每个字节的一个中断。
1.3 计算机系统体系结构
单处理器系统:仅用一个处理器来完成系统操作和目标仿真
多处理器系统:也称(并行系统或多核系统),多处理器系统有多个紧密通信的CPU,它们共享计算机总线,有时还有时钟、内存和外设等。
集群系统:与多处理器系统一样,集群系统将多个CPU集中起来完成计算任务。然而,集群系统与多处理器系统不同,它是由两个或多个独立的系统耦合起来的。集群计算机共享存储并通过局域网络连接或更快的内部连接。
多处理器系统(并行系统、紧耦合系统)
优点: 增加吞吐量、规模经济、增加可靠性。
分类:
- 非对称多处理:每个处理器都有各自特定的任务。一个主处理器控制系统,其他处理器或者向主处理器要任务或做预先定义的任务。
- 对称多处理:每个处理器都要完成操作系统中的所有任务。所有处理器对等,处理器之间没有主-从关系。
1.4 操作系统的结构
操作系统最重要的一点是要有多道程序处理能力。多道程序设计通过组织作业(编码或数据)使CPU总有一个作业在执行,从而提高了CPU的利用率。
操作系统的三种基本类型:
- Batch systems(批处理系统)
- Time-sharingsystems(分时系统)
- Real timesystems(实时系统)
批处理系统
- 工作方式:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一批作业(jobs)之后输入到计算机中,在系统中形成一个自动转接的连续的作业流,系统自动、依次执行每个作业。最后由操作员将作业结果交给用户。操作系统:自动将控制从一个任务转到下一个任务。
- 分类:单道批处理系统、多道批处理系统
- 批处理操纵系统优点:作业流程自动化、效率高、吞吐量高。
- 批处理操纵系统缺点:无交互手段、调试程序困难。
分时系统- 交互式计算
- 分时系统(或多任务)是多道程序设计的延伸。
- 共享需要一种交互计算机系统,它能提供用户与系统之间的直接通信。响应时间短(通常小于一秒钟)。
- 允许多用户共享计算机。由于每个动作或命令都较短,每个用户只需少量CPU时间,用户之间切换时间短,所以用户会感觉整个系统为自己所用。
实时系统:实时操作系统是保证在一定时间限制内完成特定功能的操作系统。
分类:
硬实时系统:硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的。
软实时系统:软实时则只要按照任务的优先级,尽可能快地完成操作即可。
1.5 操作系统的执行
事件总是由中断或者陷阱引起的
1.5.1 双重模式与多重模式的执行
为了确保操作系统的正确运行,必须区分操作系统代码和用户代码的执行。大多数计算机系统采用硬件支持,以便区分各种执行模式,至少需要两种独立的操作模式:用户模式、内核模式(监视模式、系统模式、特权模式)
将能引起损害的机器指令作为特权指令。用户模式下想要执行特权指令,硬件不会执行,会认为是非法指令,并以陷阱的形式通知操作系统。
系统引导时,硬件开始处于内核模式。接着,装入操作系统,开始进入用户模式。出现陷阱或中断,会进入内核模式。
1.5.2 定时器
防止用户进入死循环或不调用系统服务。定时器在给定时间后中断计算机。操作系统将控制权交给用户之前,设置定时器。修改定时器的操作就是特权指令。
剩余小节都会在后续章节中详细介绍