7.1 引言
- 计算机系统主要由两个部分组成:硬件和软件;软件又分为操作系统和应用程序。应用程序使用硬件来解决用户的问题,而操作系统控制用户对硬件的访问。
7.1.1 操作系统
- 操作系统是计算机硬件和用户的一个接口,它使得其他程序更方便有效的运行,并能方便对计算机硬件和软件资源进行访问。
7.1.2 自举过程
-
操作系统也是程序,在加载操作系统的过程:
- 很小一部分内存放在ROM中,其中有称为 自举 的小程序。当计算机被加电时,CPU计数器被设置为自举程序的第一条命令,将操作系统从磁盘装入RAM内存,之后计数器的第一条命令为操作系统的命令,操作系统被加载完毕。
7.2 演化
7.2.1 批处理系统
- 批处理操作系统 被设计于20世纪50年代。
- 每个运行的程序叫做一个 作业 。
7.2.2 分时系统
- 多道程序 概念被引入,分时 是指资源可以被不同的作业分享,每个作业可以分到一段时间来使用资源。
- 进程 是指在内存中等待资源分配的程序。
7.2.3 个人系统
- 个人计算机产生,需要一类适合这类计算机的操作系统。单用户操作系统 诞生,例如DOS(磁盘操作系统)。
7.2.4 并行系统
- 并行系统的设计:同一计算机安装多个CPU,每个CPU可以处理一个程序或其一部分。
7.2.5 分布式系统
- 资源可以是分布式的,一个程序需要的文件可能分布在世界的不同地方。分布式系统 结合了以往系统的特点和新的功能。
7.2.6 实时系统
- 实时系统 指在特定时间限制内完成任务,他们被用在实时应用程序中。
7.3 组成部分
-
现代操作系统至少有以下四种功能:存储功能、进程管理、文件管理、设备管理。还有一个部分负责与外界通信,称为用户界面或命令解释程序。
-
现代操作系统的第一职责是内存管理,内存分配必须由操作系统分配,内存管理技术可以分为两类:单道程序和多道程序。在单道程序中,内存的大部分容量为一个程序独享。在多道程序中,多个程序同时在内存中。
-
操作系统的第二职责是进程管理。进程是运行的程序。进程管理使用调度器和队列来管理进程。进程管理涉及具有不同资源的不同进程间的同步问题。这可能潜在的造成资源死锁和饿死。死锁是指一个进程由于其他进程无限制的使用资源导致无法运行的情况。饿死是指一个进程由于资源分配限制太多而不能执行的情况。
-
现代操作系统的第三职责是设备或I/O管理。在计算机系统中,输入/输出设备在数目和速度上都有限制。因为这些折别与CPU和内存相比,速度很慢,所以,当一个进程访问输入/输出设备时,它对其他进程就不可用。设备管理器负责输入/输出设备的高效使用。
-
现代操作系统的第四职责是文件管理。操作系统使用文件管理器控制对文件的访问。只有进程或用户被允许访问指定文件时,访问才被允许。访问的类型可以改变。
-
具有一些类似性的两个常见的操作系统的UNIX和Linux。UNIX是多用户、多进程、可移植的操作系统,它由四部分构成:内核、命令解释器、一组标准工具和应用程序。Linux由三部分构成:内核、系统工具和系统库。
-
微软流行的操作系统家族是Windows。Windows是面向对象的、多层的操作系统。它使用多层,包括硬件抽象层(HAL)、执行层和环境子系统层。