第一章-计算机操作系统-绪论

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
绪论
绪论
处理机管理 ‫ ٭‬多道环境下,处理机的运行及分配都是 以进程为单位,因此处理机管理可归结 为进程管理。
一、进程控制
‫ ٭‬创建/撤消进程 ‫ ٭‬迁移进程状态 ‫ ٭‬一般由进程控制原语完成
绪论
二、进程同步 ‫ ٭‬为使多个进程有条不紊地运行,应建立同步机制。 ‫ ٭‬包括进程互斥/同步,次序协调。 三、进程通信 ‫ ٭‬源于进程合作,如:输入进程、计算进程、打印进程 相互间有信息传递 ‫ ٭‬类型: ▪ 直接通信:进程A发message,进程B收message ‫ ٭‬间接通信: ▪ 进程A发message到中间实体(如mailbox),进程B 从中间实体收message
绪论
绪论
绪论
绪论
程序没有直接访问键盘,显示器,磁盘或者主存, 它们依靠操作系统提供的服务。
绪论
操作系统作为资源的管理者 操作系统有两个主要用途:防止硬件被失控的应用 程序滥用;在控制复杂而又通常广泛不同的低级硬 件设备方面,为应用程序提供简单一致的方法。它 通过几个基本的抽象概念(进程,虚拟存储器和文 件)实现这两个用途。
绪论
OS的主要功能(3)
四、调度(作业与进程) ‫ ٭‬作业调度: ▪ 为作业分配必要资源,调入内存建立进程, 并使之进入就绪队列。 ‫ ٭‬进程调度: ▪ 从就绪队列中选出进程,分配CPU,使之运 行。 ‫ ٭‬调度算法: ▪ FCFS、优先权等
绪论
虚拟存储器 也是一个抽象概念,为每个进程提供一个假象,好 像它在独占的使用主存。每个进程看到的存储器都 是一致的,称为虚拟地址空间。
绪论
文件是对I/O设备的抽象表示,虚拟存储器是对主 存和磁盘I/O设备的抽象表示,进程则是对处理器、 主存和I/O设备的抽象表示。
绪论
进程 进程:操作系统提供一种假象,似乎系统上只有这 个程序在运行。程序看上去独占的使用处理器,主 存和I/O设备。这些假象是通过进程的概念来实现 的。 进程是操作系统对运行程序的一种抽象;
绪论

作为用户与计算机硬件系统之间的接口
用户 程序员
系统设计者
应用程序及实用程序 系统调用,命令,图标,窗口 操作系统 计算机硬件
图1-1 OS作为接口的示意图
绪论
应用软件:设计用于解决一个专门问题。如电子邮 件软件,库存控制软件,文档编辑程序等。 系统设计:提供一个一般的编程环境,从而程序员 可以生成特定的应用程序以适应他们客户的需要。 编程环境由程序设计工具(如编辑器和编译器)和 抽象(如文件和对象)组成。为了使机器资源更多 的花费在应用程序上,系统软件对机器资源的使用 应该尽可能少。
‫ ٭‬四、设备wenku.baidu.com立性和虚拟设备
▪ 独立性,即program与设备无关性,使program易于重 定向,增加了可移植性。 ▪ 虚拟设备
绪论
信息管理(文件系统管理)
‫ ٭‬任务:方便用户,提供安全性
‫ ٭‬一、文件存贮空间的管理 ▪ 例:creatfile:文件系统根据文件长度自动分配连 续或离散的扇区,并提供“一句柄”表示该文件。 ‫ ٭‬二、目录管理 ▪ 使用户按名存取,提高速度。 ‫ ٭‬三、文件的读、写管理和存取控制(保护)
绪论
操作系统作为虚拟机 #include <studio.h> int main() { printf(“hello, world\n”); }
Hello程序必需被转化为低级机器语言指令,然后 这些指令按照一种称为可执行目标程序的格式打好 包,并以二进制磁盘文件的形式存放起来。
绪论
思考 用MCS51编写hello,world程序? 用MCS51编写读键盘输入,并输出的程序?
处理过程(图1.3)
‫٭‬ ‫٭‬ 监督程序(monitor) 概念:系统对作业的处理都是成批进行的、且 内存中始终只保持一道作业,称为单道批处理 系统(simple batch system)。 批处理系统的引入是为了提高系统资源的利用 率和吞吐量 概念:运行控制权 自动性、顺序性、单道性
‫٭‬ ‫٭‬ ‫٭‬
绪论
设备管理
‫ ٭‬任务:提高I/O利用率和速度,方便用户
‫ ٭‬一、缓冲管理
▪ 缓冲区:用来解决CPU-I/O矛盾,如:CPU快则应多 创建缓冲区。
‫ ٭‬二、设备分配
▪ 包括:设备,设备控制器,I/O通信的分配和回收
绪论
‫ ٭‬三、设备处理
▪ 指控制设备进行实际的操作,包括读、写等以及向 CPU发中断。 ▪ 设备处理/驱动程序应能根据用户的I/O请求,自动地 构成通道程序。
绪论
通常的系统软件
C运行库: ‫ ٭‬标准输入输出库,如printf()和scanf()。 ‫ ٭‬数学库,如sqrt()。 ‫ ٭‬图形库,如drawCircle()等。 命令行解释程序(也称外壳程序),如windows下使用dir 命令,UNIX下使用ls命令可进行目录下的条目列表;Linux 的bash程序和Windows的cmd.exe程序都是命令行解释程序。 窗口系统:为应用程序提供了虚拟终端,应用程序可以用函 数读写窗口,好像该窗口是一个终端设备一样。例如 Macintosh desktop, Microsoft Windows desktop,Linux 的Gnome desktop等。 数据库管理系统,如Oracle或MySQL等。
绪论
程序的运行——Shell
unix> ./hello Hello,world unix> shell执行它的指令,等待输入。当我们输入后,逐一读取 字符到寄存器,再把它存放到存储器中。回车时,shell知 道我们已经结束了命令输入。然后shell执行一系列指令, 将目标文件中的代码和数据从磁盘拷贝到贮存,从而加载 hello文件。数据包括最终会被输出的字符串。 一旦hello目标文件中的代码和数据被加载到了存储器,处 理器就开始执行hello程序的主程序中的机器语言指令,将 串中的字节从存储器中拷贝到寄存器堆,再从寄存器中文件 拷贝到显示设备,最终显示到屏幕上。
绪论
研究操作系统的两种观点
‫٭‬ ‫٭‬ ‫٭‬ ‫٭‬
作为计算机系统资源的管理者
处理机管理:分配和控制处理机 存储器管理:分配及回收内存 I/O(Input/Output)设备管理:I/O分配与操作 文件管理:文件存取、共享和保护

‫٭‬ ‫٭‬
作为扩充机器
把覆盖了软件的机器称为扩充机或虚拟机。 分层扩充的特点。
绪论
分时系统(2)

‫٭‬ ‫٭‬
分时系统在实现中的关键问题
及时接收:多终端卡、输入缓冲区 及时处理:交互作业应在内存、响应时 间应短
绪论
分时系统(3) 分时系统的实现方法
‫٭‬ ‫٭‬ ‫٭‬ 交互式作业直接进入内存 以分配时间片方式实现 类型: ▪ 单道分时系统 ▪ 具有前、后台的分时系统 – 仅当前台无作业或在调进、出时,才运行后 台批处理作业。 ▪ 多道分时系统 – 不需要调入、出开销。
绪论
翻译过程——编译系统 gcc –o hello hello.c 翻译过程分为四个阶段,执行这四个阶段的程序一 起构成编译系统。 ‫ ٭‬预处理阶段:读取头文件stdio.h的内容,并插 入到程序文本中去; ‫ ٭‬编译阶段:产生一个汇编语言程序。 ‫ ٭‬汇编阶段:翻译成机器语言,并且打包成为一种 可重定位目标程序的格式。 ‫ ٭‬链接阶段:printf存在于一个名为printf.o的单 独的预编译目标文件中,必须以某种方式并入到 hello.o中;

‫٭‬
特征
多道性、无序性、调度性:作业调度、进程调度

‫٭‬
缺点
平均周转时间长、无交互能力
绪论
1.2.4分时操作系统
‫٭‬
分时系统的产生
概念:指一台主机上连接了多个带有显示器 和键盘的终端,同时允许多个用户共享主机 中的资源,各个用户都可通过自己的终端以 交互方式使用计算机。 ‫٭‬ 是用户的需求: ▪ 人机交互性 ▪ 共享主机 ▪ 便于用户上机
绪论
操作系统与其它系统软件的区别 操作系统直接作用于硬件之上,为其他系统软件和 应用软件提供接口。 通用的操作系统与应用领域无关。操作系统可支持 许多应用领域软件。 应用程序使用操作系统所提供的资源抽象,从而使 用硬件资源部件。 操作系统允许不同的应用程序通过它所提供的资源 管理策略来共享硬件资源。
特征
绪论
图1-3
开始 是 把下一个作业 的源程序转换 为目标程序
还有下一 个作业?

停止

源程序 有错吗?

运行目标程序
装配目标程序
绪论
1.2.3
‫٭‬ ‫٭‬
多道批处理系统
基本概念
多道:系统中同时驻留多个作业 多道引入的优点: ▪ 提高CPU利用率 ▪ 提高内存和I/O设备利用率 ▪ 提高了系统吞吐量
绪论
1.2
操作系统的历史和基本类型
1.2.1手工操作阶段 人工操作方式
‫٭‬ ‫٭‬ 如纸带输入机。 特点是用户独占全机及CPU等待人工操作。
1.2.2
‫٭‬ ‫٭‬
早期批处理
脱机I/O方式(图1.2)
引入I/O机的概念,解决前者的缺点。 特点是减少了CPU的空闲时间且提高I/O速度。
绪论
绪论
二、内存保护 ‫ ٭‬例:设臵上、下界寄存器,每条指令进行越界检查 (一般是硬件实现) 三、地址映射 ‫ ٭‬地址范围 地址 ‫ ٭‬逻辑空间 逻辑地址相对地址() ‫ ٭‬物理空间 物理地址(绝对地址) 四、内存扩充 ‫ ٭‬利用虚存技术,从逻辑上扩充内存容量 ‫ ٭‬系统应有:请求调入/臵换功能以支持虚存技术
绪论
一般系统软件设计的最初动机,主要是提供一些程序员可以 使用的功能以备应用软件调用。后来,系统软件(特别是操 作系统)实现了另一个重要目的:使应用程序能够以有序的 方式去共享硬件。共享提高了系统整体的性能。
操作系统是系统软件的一部分,它保证共享的实现最安全和 有效。它是“最贴近硬件”的软件实现,其它的系统软件和 所有的应用软件把操作系统作为使用硬件的一个界面。操作 系统程序员编写控制硬件的软件(实现共享和抽象),给应 用程序员提供一个可以使用的软件环境。
绪论
文件
文件只不过是字节序列。每个I/O设备,包括磁盘,键盘, 显示器,甚至网络,都可以被看成是文件。系统中的所有输 入输出都是通过使用Unix I/O的一小组系统函数调用读写 文件来实现的。
这个简单而精致的抽象概念非常强大,它使得应用程序能够 同一地看待系统中可能含有的所有各式各样的I/O设备。例 如,处理磁盘文件内容的应用程序员可以非常幸福地无需了 解具体的磁盘技术。而同一程序可以在使用不同磁盘技术的 不同系统上运行。
Linux中,最上面的四分之一的地址空间预留给操 作系统中的代码和数据。底部的四分之三用于存放 用户进程定义的代码和数据。
绪论
绪论
存储管理
‫ ٭‬目的:方便用户使用,且提高存贮器利用率 一、内存分配 ‫ ٭‬静态分配: ‫ ٭‬动态分配:作业在内存中可移动 ‫ ٭‬为此,需内存分配的数据结构及内存分配和回 收功能
第 1 章
绪 论
1.1
操作系统概念
操作系统概念(p2)
‫ ٭‬一组控制和管理计算机硬件和软件资源、
合理地对各类作业进行调度以及方便用 户的程序集合。 ‫ ٭‬它就像是指挥者,协调计算机所有的组 件,并使得各个组件能依照某个计划协 同工作。
绪论
效率和功能是一个操作系统可用的关键因素。操作 系统的效率为计算机上所有软件的性能提高提供了 平台,研究操作系统的一个最重要的原因是学习如 何获得最好的性能。 另外,操作系统提供了一系列功能以支持用户程序 的执行。提供较少功能的高性能操作系统实际上会 迫使应用程序做更多的工作。为了在编程中充分使 用系统的功能,需要理解系统是如何设计的。
并发与并行;在并发运行中,交错执行的机制称为 上下文切换。
绪论
在helloworld示例中,有两个同时运行的进程: shell进程和hello进程。最开始,只有shell进程 在运行,等待输入。当我们让它运行hello程序时, shell通过调用一个专门的函数,即系统调用,来 执行我们的请求,系统调用会将控制权传递给操作 系统。 操作系统保存shell进程的上下文,创建一个新的 hello进程及其上下文,然后将控制权传给新的 hello进程。在hello进程终止后,操作系统恢复 shell进程的上下文,并将控制权传回给它,继续 等待下一命令行输入。
相关文档
最新文档