第三章-操作系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012-11-4
南京航空航天大学 胡军
23
3.3 操作系统的启动 (续)
每次加电启动时,CPU的程序计数寄存器(PC)中是一个事先确定好
的特定地址。CPU期望在这个地址上找到第一条指令。
主存储器(RAM)加电时是空的,因此,CPU的PC中第一条指令设计 的是指向ROM中的引导程序.
2012-11-4
问题:为什么不提供足够的ROM存放整个操作系统呢?
2012-11-4
南京航空航天大学 胡军
25
3.4 Kernel的组成
现代操作系统的kernel一般由进程管理、存储管 理、I/O设备管理、文件管理4个部分组成:
操作系统 用户接口
存储管理
进程管理
I/O 设备管理
文件管理
2012-11-4
南京Βιβλιοθήκη Baidu空航天大学 胡军
OS也为应用程序的设计与运行提供了文件操作的API接 口
如: C++中的:CreateFile( ); OpenFile( ); CloseFile( ); ReadFile (); WriteFile(); GetFileAttribute( ); GetFileTime( ); GetFileSize(); … …
26
3.4.1 文件系统
文件(file)是计算机保存数据和程序信息的一种主要形 式;操作系统中负责管理和存储文件信息的软件称为文 件管理系统,简称文件系统 (file system)。 文件的特征:
文件名、文件属性、文件操作; 文件逻辑结构 • 无结构的字节序列,如:源程序文件、目标代码文件; • 有结构的记录式文件,如:工资单的Excel表格文件; 文件的存取方式:顺序存取、随机存取
2012-11-4
南京航空航天大学 胡军
27
3.4.1 文件系统(续)
文件的特征(续):
文件的物理结构:连续文件、链接文件、索引文件.
文件目录管理:
– 两种路径命名法:绝对路径名(如:C:\usr\jone\tail.c);相对 路径名(如: \tail.c)。 – 目录的操作:创建、删除、打开、关闭、读、重命名, 等等
2012-11-4 南京航空航天大学 胡军 10
3.1.3 多道程序系统阶段(续)
效果:通过在各个作业之间进行快速切换,形成若干作业同时在计 算机上执行的错觉(对用户而言,就感觉自己独自占用机器运行一 样);CPU利用率大大提高.
早期的分时系统可以同时提供30个用户可接受的实时交互式服务
现在的分时系统既用于单用户系统(multi-tasking),也用于多用户 系统(大型机、巨型机)
2012-11-4 南京航空航天大学 胡军 2
银行应用系统
飞机票预定系统
Web浏览器
编译程序/编辑程序/DBMS 操作系统 物理设备
2012-11-4
南京航空航天大学 胡军
3
内容安排
操作系统的发展历史
操作系统的基本体系结构
操作系统的主要功能
文件管理
I/O设备管理
内存管理 进程管理
2012-11-4
南京航空航天大学 胡军
9
3.1.3 多道程序系统阶段(续)
20世纪60-70年代计算机比较昂贵,每台计算机必须服务 于多个用户:
实时要求的问题:若干用户在同一时间要求一台机器的交互式 服务,如何保证实时性的要求?
分时(Time-sharing )系统
实现分时的方法:多道程序设计(multi-programming) 运行时间被分割成时间片(time slice),每个作业的执行被限制为每 次只能用一个时间片;当时间片结束时,当前作业暂时放弃执 行,系统允许另一个作业在下一个时间片内运行。
… 系统调用 … 陷入 核心空间
2012-11-4 22
用户空间
南京航空航天大学 胡军
3.3 操作系统的启动
操作系统的启动是由一个称为引导(boot strapping,简称:
booting)的过程来实现,这个过程在计算机每次启动的 时候将操作系统从海量存储器传送到主存储器中。 引导程序(bootstrap):(系统自举程序) 存放在计算机的一个特殊的ROM中;固件(firmware). 这个ROM的存储单元编址是与主存的一部分.
Kernel(内核): 完成操作系统核心功能的软件集合
文件管理程序 设备驱动程序
内存管理程序
进程调度程序和分派程序
2012-11-4
南京航空航天大学 胡军
20
Shell(命令解释程序)
• Shell是用户与操作系统之间的命令接口 –用户可以选择不同的shell(如:Born-shell, C-Shell,等) –Shell Script(脚本程序) • 有变量定义和控制结构,具有高级语言编程能力
2012-11-4
南京航空航天大学 胡军
17
3.2 操作系统的体系结构
计算机软件系统概述
应用软件(application software) 完成特定的用户任务: 财务软件、工程设计、… 系统软件(system software) 给应用软件的设计与运行提供基础架构
(类似于社会生活中的交通、水电、银行等基础设施)
行用户程序 --- 批处理
2012-11-4
南京航空航天大学 胡军
7
3.1.2 批处理系统(续)
批处理系统的特点:
若干个作业在一个批次一起运行,无需与用户交互; 多个作业在作业队列(job queue)中排队等待执行 ( 排队原则: FIFO, 优先级).
2012-11-4 南京航空航天大学 胡军 8
发展为复杂、分时处理与管理计算机海量存储设备中的
大量程序和数据文件,并能直接响应计算机用户的实时 交互请求。
2012-11-4 南京航空航天大学 胡军 12
3.1.4 现代操作系统阶段(续)
UNIX操作系统
特点:多用户、多任务、分时,友好的用户接口 ,可装卸 的树型结构文件系统 ,设备文件化 ,非常强的可移植性 。
<<计算机科学导论>> -- 操作系统
胡军 南京航空航天大学 hujun.nju@139.com 2012,10
操作系统概述
操作系统(OS: Operating System):是建立在裸机上的第 一层软件系统,控制计算机所有操作 (如:协调计算机 的内部活动、检查计算机与外部世界之间的通信,等) 。 现代OS提供了:
2012-11-4
南京航空航天大学 胡军
13
3.1.4 现代操作系统阶段(续)
Windows操作系统
特点:统一的窗口和操作风格 、丰富的应用程序与应用 开发工具 、事件驱动程序的运行方式 、多任务的图形化 用户界面 、支持网络及多媒体技术 ,提供丰富的应用程 序接口 、广泛的硬件支持 。
2012-11-4
3.1.3 多道程序系统阶段
批处理系统的不足:
作业一旦提交给操作员,就无法与用户交互
仍然无法实现真正的计算资源的多用户共享
交互式处理(Interactive Processing):
新的操作系统允许用户可以通过远程终端与执行的程序进行 交互,如:字处理程序
实时处理(real-time processing)的要求
2012-11-4 南京航空航天大学 胡军 21
3.2 操作系统的体系结构(续)
除了Shell命令接口之外,操作系统还提供另一 种用户接口:
程序接口(API: Application Program Interface):又称 系统调用(system call),如:printf(); 编程人员通过系统调用来请求系统资源,API函数就 像是一个黑匣子,向用户屏蔽了系统内部的控制。
用户可以存储和检索数据文件的方法 ; 用户请求执行程序的接口 ; 程序运行所必需的环境 ; … …
总之,操作系统为用户提供了友好的人机交互以及程序级 接口,使得计算机看上去像是功能得到了极大扩展的机 器(虚拟机),而不仅仅是电路形式的硬件系统. 例子:windows, Unix, Linux, … …
多处理器的操作系统(并行)
不同的任务分配给不同的处理器,不一定用分时技术
问题: 负载均衡,多处理器调度与通信,… …
网络操作系统
基于网络的计算资源操作、管理 中间件(Middle-ware): 基于Internet
2012-11-4
南京航空航天大学 胡军
16
3.1.4 现代操作系统阶段(续)
执行一个程序需要大量的设备准备工作,如: 安装磁带、把
穿孔卡片放在读卡机上、设置相应的开关等等。每个程序的 执行称为一个作业(job)。在下一个程序运行之前,必须重新
获得磁带、穿孔卡片等一切准备工作。
一次一个用户使用,无法共享机器 系统可靠性也低 还不存在真正意义上的操作系统
2012-11-4 6
嵌入式操作系统(Embedded OS)
航空、航天等领域的嵌入式控制器、手机、 机器人:硬件计算能力较低、存储能力严 格受限,能量有限, … …
VxWorks(WindRiver):火星探测器(精 神号、机遇号),… …
uC/OS: 最小的嵌入式实时操作系统,源码开 放 WinCE;PalmOS; Symbian ... … ……
2012-11-4 南京航空航天大学 胡军 11
3.1.4 现代操作系统阶段
20世纪80年代起,大规模集成电路的快速发展,计算机
硬件成本不断降低,性能不断提高; 计算机系统的应用
已经从科学计算、军事应用到商业领域,并迅速扩展到 了普通的企业及个人. 现在,操作系统已经从简单的一次获取和执行一个程序
南京航空航天大学 胡军
3.1.2 批处理系统
批处理(batch processing)系统致力于简化程序运行
的准备工作,提高作业之间的过渡效率
基本思想:用户和计算设备分离; 用户:负责准备程序、数据以及程序需求的特别说明; 计算机操作员:将用户提交的资料输入到海量存储器中,由
一个特定的程序(操作系统)来负责一次一个的连续读入并执
2012-11-4
南京航空航天大学 胡军
28
3.4.2 I/O设备驱动管理
–基于GUI
• 窗口管理程序(WM: window manager):负责在屏幕上 分配与管理若干区域(窗口),并跟踪与每个窗口相 联系的应用程序。
例: PowerPoint程序(PPT)想要显示一副图像 通知WM WM 将相应的图像放在PPT所在窗口 … … 点击鼠标 WM 计算鼠标的坐标位置 将这个鼠标位置数据通知给PPT (PPT程序响应 ) … …
南京航空航天大学 胡军
24
3.3 操作系统的启动 (续)
BIOS (Basic Input/Output System) 基本输入/输出系统:ROM中除了引导程序外,还包 括一组例行程序,可以被引导程序调用。使得在操作 系统正式开始工作之前,计算机就可以与用户进行通 信交互.
如:系统自检程序、在屏幕上显示信息、响应键盘输入等
南京航空航天大学 胡军
14
3.1.4 现代操作系统阶段(续)
Linux操作系统
特点:友好的用户接口 ,很强的可移植性 , 模块化设计的 开源软件 ,强大的通信及网络功能 ,强大的健壮性 。
2012-11-4
南京航空航天大学 胡军
15
3.1.4 现代操作系统阶段(续)
分布式操作系统(Distributed OS)
安全管理
2012-11-4
南京航空航天大学 胡军
4
3.1 操作系统的发展历史
通常把操作系统的发展划分为:
手工操作阶段 批处理系统 多道程序系统 现代操作系统
2012-11-4
南京航空航天大学 胡军
5
3.1.1 手工操作阶段
20世纪四五十年代,计算机体积庞大,使用不灵活, 系统资源利用率低:
可分为操作系统和实用软件(Utility software)
如:压缩/解压软件、媒体播放器、浏览器、… …
2012-11-4
南京航空航天大学 胡军
18
3.2 操作系统的体系结构(续)
2012-11-4
南京航空航天大学 胡军
19
3.2 操作系统的体系结构(续)
Shell(外壳,命令解释程序): 处理与计算机用户之间的 通信;是用户与操作系统内核之间的一个接口 基于文本 图形用户接口(GUI:Graphical User Interface )