第1课 操作系统概论 本次课介绍如下知识: 1.1操作系统简介 1.1.1 什么是操作系统 1.1.2 操作系统的发展历史 1.2操作系统的运行环境 1.2.1 计算机系统的基本硬件结构 1.2.2 CPU的组成 1.2.3 输入/输出结构 1.2.4 存储结构 1.2.5 系统保护
第1章 操作系统概论 这一章我们主要主要讨论以下几个方面的知识: 1. 操作系统的概念。 2. 操作系统的硬件结构。 3. 操作系统的功能。 4.操作系统的组成结构。
1.1 操作系统简介 1.1.1 什么是操作系统 1.计算机系统的组成: 计算机系统是由硬件系统和软件系统组成的。 硬件系统:包括CPU、存储器、输入输出设备等,构成了计算机系统最基本的硬件资源。 软件系统:包括系统软件和应用软件。系统软件用于对计算机系统软硬件资源的管理、分配、控制和运行等。如操作系统、语言处理程序、文字编辑程序,链接装配程序、系统实用工具等。
2.操作系统的目标: 而操作系统是在裸机上加载的第一层软件,是对计算机硬件系统功能的首次扩充。应用软件一般是为了完成用户的特定任务而设计的程序,如各种办公软件、财务处理软件、以及Web浏览器等。计算机系统的硬件、软件和用户之间的关系如下图所示。 计算机系统硬件、软件和用户的关系
• 控制和协调用户对软件和硬件资源的不同需求,提供了一种合理使用其软硬件资源的工作环境。 • 从管理角度看:操作系统作为一个资源管理者,解决各种用户对计算机系统的软硬件资源的竞争,并合理、高效地分配和利用这些资源,如:内存空间、I/O设备、CPU时间、文件存储空间等。 • 从用户的观点看:关心的是操作系统提供了哪些功能,哪些服务以及具有什么样的用户界面,使他们能利用操作系统提供的功能来方便而灵活地为他们服务。 操作系统最基本的目标就是为用户提供各种服务。以最简单、方便的途径通过一些通用软件(如I/O设备控制程序、软硬件资源的管理与分配程序等)来解决用户的各种问题。 这些基本的控制管理程序方便了用户,使他们能便捷地使用计算机提供的各种软硬件资源。操作系统正是这些通用软件的集合。
3.操作系统的概念: 操作系统是对计算机系统的所有软、硬件资源进行全面管理和控制的软件系统。 所以可以这么说,操作系统是计算机硬件和各种用户程序之间的接口程序,它提供了一种环境,使用户能方便和高效地执行程序。 也可以这样认识操作系统:操作系统是运行于计算机硬件上的系统软件,同时它又是其它应用软件的运行平台, 操作系统一方面保证了计算机系统的正确、高效运行,另一方面还提供了各种服务程序,使用户能方便、快捷地完成他们的任务。 由于操作系统隐蔽了硬件的复杂细节,用户会感到机器使用起来更简单更容易了,通常就说操作系统为用户提供了一台功能经过扩展了的机器,或称“虚拟机”。
1.1.2 操作系统的发展历史 了解操作系统的发展历史,能够有助于进一步理解操作系统的功能与概念。 计算机系统硬件结构的发展变化与操作系统的发展变化是一个互动的过程,他们彼此之间产生的巨大的影响力是密不可分的。 1.计算机系统的四个发展阶段: • 电子管阶段: • 晶体管阶段: • 小规模集成电路阶段: • 大规模集成电路阶段:
2.手工操作阶段 • 用户上机时需要通过手工方式去操作主机和外设。 • 一个用户上机就必须独占全部系统资源。 • 运行效率差。 算机系统的运行速度大大提高,手工操作的慢速度和计算机的高速度之间形成极大矛盾。唯一的解决办法只有摆脱以手工操作,实现作业的自动过度,于是批处理系统就应运而生。
3.批处理系统 • 只需将程序、数据和一些作业控制信息提交给操作员即可。 • 早期的批处理有联机方式和脱机方式两种。 • 为了在联机方式下提高作业处理速度,将用户的作业进行分类。 脱机批处理是增加一台不与主机直接相连的,而专门用于同输入/输出设备打交道的卫星计算机。 • 单道批处理系统:当CPU处理完用户的一个作业以后,将其结果打印输出。而此时的CPU处于空闲状态,它必须等待这个作业的结果全部输出以后,单道批处理系统的内存分配如下图所示。
• 多道程序系统:指允许许多个相互独立的程序同时存在于主存中,而且同时进入系统的几道程序都处于运行过程中,各道程序轮流占用处理机,交替的执行。多道批处理系统的内存分配如下图所示。 具有三个作业的多道程序批处理系统内存分配
4.分时系统 • 所谓分时系统,即计算机可以同时连接多个用户终端,每个用户可在自己的终端上联机使用计算机。 • 交互式的操作系统为用户和系统之间提供了一种直接通信的方式。 5.实时操作系统 • 能够及时响应通讯发出的外部事件,并对事件做出快速处理的一种能力。 • 实时系统有一个明确的、固定的时间限制。 6.网络操作系统与分布式操作系统 • 在网络范围内,用于管理网络通讯和共享资源、协调各计算机上任务的运行,并向用户提供统一的、有效方便的网络接口的程序的集合,就称为网络操作系统。 • 真正的分布式操作系统定义为运行在不具有共享内存的多台计算机上,但在用户眼里却像是一台计算机,其运行基础是一组联网的计算机,其行为像是一台虚拟的单处理计算机。
1.2 操作系统的运行环境 1.2.1 计算机系统的基本硬件结构 其计算机系统的硬件结构如下图所示。
1.2.2 CPU的组成 • CPU的主要功能:取指令,解码以及执行指令,并通过计算机的主要传输通路(即数据总线)将信息输入或输出到其它资源。 • 运算器:进行算术运算、逻辑运算的部件。算术逻辑单元ALU以加法器为核心,加上输入/输出选择逻辑,通过对输入的选择控制实现多种功能。 • 控制器:是计算机的指挥控制中心,控制器由程序计数据器、指令寄存器、指令译码器和操作控制部件组成。 • CPU中的寄存器主要有:通用寄存器,控制寄存器等。 1.通用寄存器:主要用于函数调用或系统调用等过程中存放调用参数、函数返回值、程序指针、堆栈指针和堆栈地址等。 2.控制寄存器:控制寄存器主要存放CPU运行过程中的一些控制信息。 • 指令地址寄存器(IA) • 程序状态字(PSW) • 基址寄存器(base) • 边界寄存器(bound) • 中断指令地址寄存器(IAA) • 中断程序状态字寄存器(IPSW)
• 计算机系统的CPU和其外部设备是通过总线连接的,而外部设备是通过设备控制器与计算机系统连接。 1.2.3 输入/输出结构 • 计算机系统的CPU和其外部设备是通过总线连接的,而外部设备是通过设备控制器与计算机系统连接。 • 中断:当系统正在运行用户程序时,若用户的程序中需要输入/输出操作时,它会向处理器发出输入/输出的请求,即产生一个中断信号。 中断处理过程如下图所示。 中断处理过程
1.2.4 存储结构 • 计算机中存储器有两种类型,主存和外存。 • 主存是计算机处理器能直接访问的唯一的大容量存储设备。 • 外存储设备作为永久保留用户程序和数据的介质。 • 处理器指令的执行过程:处理器从内存中取出第一条指令,将其放在指令寄存器中并译码,接下来再从内存中取出该指令的操作数,将其存储在处理器的内部寄存器中,然后执行基于该操作数的指令,最后将执行结果存放回内存中。
• 为了保证计算机系统的正常运行,必须对操作系统、用户程序和数据、以及计算机中的各种资源进行保护,以免他们遭受那些非正常程序的破坏。 1.2.5 系统保护 • 为了保证计算机系统的正常运行,必须对操作系统、用户程序和数据、以及计算机中的各种资源进行保护,以免他们遭受那些非正常程序的破坏。 • 硬件保护措施:系统模式和用户模式。 • 所有I/O指令都是系统的特权指令,用户程序是不能访问这些I/O指令的。 • 基址寄存器Base和边界寄存器Bound来实现对内存储区的保护。 使用基址寄存器和边界寄存器实现存储保护如下图所示。 内存保护的实现
小结: 这一讲的重点知识是: • 掌握操作系统的概念及其功能。 • CPU的组成 • 输入/输出结构 • 存储结构 难点知识是: • 中断的概念其及作用。 • 系统保护的措施。
第2课 操作系统的功能 本次课介绍如下知识: 1.3操作系统的功能 1.3.1 处理机管理 1.3.2 存储管理 1.3.3 设备管理 1.3.4 文件管理 1.3.5 用户接口 1.3.6 操作系统的服务程序 1.4操作系统结构 1.4.1 简单结构 1.4.2 层次式结构 1.4.3 虚拟机 1.4.4 客户机/服务器系统(微内核)
1.3 操作系统的功能 1.3.1 处理机管理 • 处理机的功能:完成计算机的各种指令的取码、解码以及执行等操作,并通过计算机的主要传输线路传输到其它设备。 • 操作系统的处理机管理:解决对处理机的高度分配调度策略,分配实施、资源回收等问题。 • 进程管理:在多道程序环境下,处理机的分配和运行都是以进程为基本单位的,所以对处理机的管理实际上就是对进程的管理。 • 进程管理主要包括: 进程控制:有关进程创建和进程终止的系统调用是进程管理中最关键的。 进程同步:系统采用了各种同步机制来协调各进程之间的同步。 进程通信:进程通信的任务就是用来实现在相互协作进程之间进行信息交换。 进程调度:包括作业调度和进程调度。
1.3.2. 存储管理 存储器是计算机系统非常重要的资源,对存储器的管理便成为操作系统必须处理的核心问题之一。 存储管理的任务主要是解决多个程序共享资源(内存分配与回收),使得内存中的系统程序和用户程序之间互不干扰(内存保护),合理分配内存空间和释放内存空间,以及充分利用内存和外存资源(内存扩充)。 1.内存分配 内存分配的主要任务:为每个程序合理地分配内存,提高存储器的利用率。 内存分配有两种方式:静态分配方式和动态分配方式。 2.内存保护 内存保护的主要任务:保证每个用户的程序都是在自己的内存空间中运行。 内存保护主要是由两个界限寄存器实现的。 3.地址映射 当系统将用户程序装入内存中时,需要将用户程序的逻辑地址转换为内存中与之对应的物理地址。 4.内存扩充 使用虚拟存储技术,对内存容量进行逻辑上的扩充。
1.3.3设备管理 设备管理是指对除CPU和内存以外的所有输入、输出设备的管理。 1.缓冲管理 解决由于I/O设备的速度与CPU的速度不匹配而产生的矛盾。 2.设备分配 是根据用户对I/O设备的请求,为它们分配所需的设备。 3.设备处理 实现CPU和设备控制器之间的通信。
1.3.4 文件管理 上述三种管理是对计算机硬件的管理,文件管理则是对系统软件资源的管理。 1.文件管理要解决的问题 • 避免磁盘文件的混乱或遭受破坏。 • 实现信息的共享,对文件进行保密和保护。 2.文件管理的任务 创建和删除文件,创建和删除目录,文件的备份,与文件和目录有关的操作等。 3.文件存储空间的管理 对文件存储空间的分配和回收。 4.目录管理 对目录的创建和删除,对目录的组织以及实现对文件的按名存取、查询和检索。 5.文件的读写和存取控制 • 系统根据用户指定的文件名对文件进行读写操作。 •对文件的存取控制主要是防止系统中的文件被非法窃取和破坏。系统中采用多级保护的设施来实现对文件的保护的。
1.3.5 用户接口 操作系统还为用户提供一个友好的用户接口。一般来讲,操作系统提供两种方式的接口来和用户发生关系,为用户服务。 • 作业一级的接口:命令接口。 • 程序一级的接口:系统调用。 1.进程控制 创建进程,撤消进程,终止进程,设置和获取进程的属性参数,内存的分配与释放,等待时间,等待事件,装载和执行进程等。 2.文件管理 创建文件,删除文件,打开和关闭文件,文件的读写操作和文件的重定位,设置和获取文件的属性参数等。 3.设备管理 请求和释放设备,设置和获取设备的属性参数,输入/输出操作和重定位操作。
4.信息管理与保存 设置和获取系统的时间、日期等,设置和获取进程、文件和设备的属性参数。 5.通信服务 创建和删除通信连接,发送和接收消息,传送信息状态,远程设备访问等。 6.系统调用的参数传递给操作系统的方式: • 将参数放在寄存器中; • 将参数放在内存中的参数表中,而将参数表的地址放在寄存器中; • 将参数放在堆栈中,再由操作系统弹出堆栈使用它们。
1.3.6 操作系统的服务程序 操作系统的服务程序能解决用户使用计算机所要解决的大部分问题。 这些服务程序包括:文件管理,文件修改,状态信息,程序设计语言支持,程序的装入和执行,通信等。 其中最重要的是操作系统的命令解释程序,命令解释程序的主要功能是执行用户指定的系统命令。
操作系统是由不同的功能子模块组成的,它们以不同的方式相互连接并组成操作系统的核心程序。 1.4 操作系统结构 操作系统是由不同的功能子模块组成的,它们以不同的方式相互连接并组成操作系统的核心程序。 1.4.1 简单结构 简单结构的操作系统所能实现的功能是有限的。它是一些过程模块的任意组合,并且每一个过程模块都可以任意调用其它模块,它们之间的调用不受任何约束。 MS-DOS操作系统就是比较典型的例子。其组织结构如下图所示。 用户应用程序 操作系统 设备驱动 ROM BIOS初始化 MS-DOS操作系统结构图
层次结构的操作系统是模块化的,就是将操作系统分成许多层,每一层都是在它的下一层模块的基础上实现。 • 最底层是硬件,最上层是用户接口。 1.4.2 层次结构 层次结构的操作系统是模块化的,就是将操作系统分成许多层,每一层都是在它的下一层模块的基础上实现。 • 最底层是硬件,最上层是用户接口。 • 容易扩充系统的功能。 • 各层功能的实现、调试等都是相对独立的。 层次结构操作系统如下图所示。 层次结构操作系统
1.4.3 虚拟机 1.虚拟机的概念 所谓虚拟机,就是由运行于裸机上的核心程序,向上层提供了若干台虚拟机。这个核心程序我们称之为虚拟机监控程序。 2.虚拟机概念的优点 • 系统资源起到了安全保护作用; • 各虚拟机通过软件达到共享资源的目的。 虚拟机结构如下图所示。 虚拟机结构操作系统
提高了系统的灵活性、可移植性、系统的安全性和可靠性。 有利于多处理机的并行处理和网络环境的分布式处理。 1.4.4 客户机/服务器系统(微内核) 1.微内核技术 微内核技术是将操作系统内一些不必要的模块放到用户端程序地址空间去实现,使操作系统内核只留下很少一部分,即操作系统仅提供内存管理和进程管理和通信机制以实现客户程序与各种服务程序之间的通信。 2.采用微内核技术的好处 提高了系统的灵活性、可移植性、系统的安全性和可靠性。 有利于多处理机的并行处理和网络环境的分布式处理。 Windows操作系统正是这种结构的最典型的例子。其结构如下图所示。 客户机/服务器系统结构
小结 这一讲的重点知识是: • 操作系统的处理机管理功能。 • 操作系统的存储管理功能 • 操作系统的设备管理功能 • 操作系统的文件管理功能 • 操作系统的层次式结构 难点知识是: • 用户接口作用及其提供的服务。 • 微内核和虚拟机的概念。