the giver中文版电影:01操作系统概述
来源:百度文库 编辑:偶看新闻 时间:2024/05/01 12:43:45
引言
课程学习方法:以问题驱动学习、理论联系实际
课程学习难点:概念、原理、算法、数据结构
是所有操作系统的一个抽象
Operating System Internals and Design principles,William Stallings,TsingHua University Press
Applied Operating System Concepts,Abraham Silberschatz etc.,Higer Education Press
计算机操作系统,汤子瀛etc.,西安电子科技大学出版社(第三版)
第一章操作系统概述
第二章进程管理
第三章存储管理
第四章外部设备管理
第五章文件管理
第一章操作系统概述
计算机系统结构:了解操作系统的地位。
什么是操作系统:四种基本观点
现代操作系统的特征、功能、类型。
基本概念:批处理、多道程序设计、作业、任务、进程与线程、接口、虚拟存储、文件
观点之一
用户接口
用户命令:指计算机用户要求计算机系统为其工作的指示。
命令的表示形式:
(1)字符形式:较灵活但因繁琐而难记
(2)菜单形式(下拉菜单等)
(3)图形形式:因直观而易记但不灵活
命令的使用方式:
1脱机使用方式(不用处理机控制的方式)
2联机使用方式
关于现代OS的四种基本观点之二
虚拟机器观点
该观点认为,操作系统式建立在计算机硬件按平台上的虚拟机器,它为应用软件提供了许多比计算机硬件功能更强或计算机硬件所没有的功能。
操作系统在虚拟机中充当管理员和协调员的角色,管理计算机的软硬件资源,并协调多任务、多进程的运行。
扩充:功能、计算机数量
基本观点之三
该观点认为,操作系统是计算机系统中各类资源的管理者,它负责分配、回收以及控制系统中的各类软硬件资源。
跟踪资源的使用状况、满足资源请求、提高资源利用率,以及协调个程序和用户对资源的使用冲突。
监视资源
分配/回收资源
保护资源
观点之四
该观点认为,操作系统是计算机系统工作流程的组织者,它负责协调在系统中运行的各个应用软件的运行次序。
用于巨型机和大型服务器上,以批文件方式提交作业,请求主机逐个运行。
主机操作系统负责组织、协调各个作业的运行,报告执行结果或错误信息。
减少了人工干预,提高了系统的效率。这种工作方式有利于有效利用造价高且性能强大的主机资源。
操作系统的定义
操作系统是计算机系统中的一个系统软件,管理和控制计算机系统的硬件和软件资源,合理的组织计算机的工作流程,以便有效利用这些资源为用户提供一个功能强、使用方便的工作环境,从而在计算机与用户之间起到接口的作用。
1.3操作系统的形成与发展
50年代中期,第一个简单批处理操作系统。
60年代中期,多道程序批处理系统
不久,分时系统、实时系统
80年代,微机及网络操作系统
推动操作系统发展的因素?
1计算机硬件升级和信硬件的出现
2提供新的服务,方便使用
3提高计算机资源利用效率
4更正软件错误
计算机体系结构的发展:单处理机系统、多处理机系统、分布式系统、计算机网络
具体历程
手工操作时期,没有操作系统
早期的电子数字计算机是由成千上万个电子管组成
操作和编程完全由手工进行,且编程只能用机器语言(二进制代码)
程序员同时也是在上机期间独占整台计算机及其他相关设备,效率非常低。
单道批处理系统,早期操作系统
程序员首先将命令、程序和数据用汇编语言或FORTRAN语言写在纸上,然后用穿孔机职称卡片,最后将这些卡片交给操作员。
批处理程序(又称为监督程序,或管理程序),管理应用程序的运行。
操作步骤:
1.
2.
3.
4.
单道批处理系统:评价
解决了作业间的自动转接问题,减少了机器时间的浪费。
不管作业大小,只要它一旦占用处理机开始执行,则它必须一直占据处理机,知道运行完毕。
资源利用率低
对短作业不公平,因为它们等待执行的时间可能远远超过它们实际执行的时间
交互性差,作业由批处理程序控制运行,用户无法实时控制,如果运行中途出现故障,也只能停下来,重新运行。
多道批处理系统现代意义操作系统
引入:
单道批处理系统中,任意时刻只允许一道作业在内存中运行,资源利用率低
为了提高系统资源利用率和系统吞吐量,形成了多道批处理系统
多道是指允许多个程序同时存在于主存中,按照某种原则分派处理机,逐个执行这些程序。
批处理:用户提交的作业首先存放在外存,并排成一个队列。然后,由作业调度程序按照一定的算法从该队列中一次选取一个或若干个作业装入内存执行。
处理机自动切换
当某个程序占用处理机执行过程中遇到了输入/输出语句,可以启动专门负责输入/输出的系统服务程序完成输入/输出操作,而处理机切换到另一个程序执行。
多道程序设计技术
为了提高系统吞吐量和资源利用率,允许多个程序同时驻留内存,使处理机在这些程序之间切换,在一段时间内,执行完多个程序的处理技术称为多道程序设计技术(multiproramming)
现在操作系统大多都采用了多道程序设计技术
多道程序设计技术引发的问题
处理机的分配与回收
内存的分配与保护
i/0设备的共享与效率
文件的有效管理
作业的组织
分时系统与实时系统
多道批处理系统:提高了资源利用率和吞吐量。但是,批处理系统交互性很差。为了改进响应时间和性能,提供交互式操作环境,导致了分时系统的出现
分时系统的实质是,在多道程序技术的基础之上,为多个用户配置一个联机终端。
前台和后台
分时系统:分时+批处理功能
内存:“前台区”和“后台区”,“前台区”存放按时间片“调入”和“调出”的作业流,“后台区”存放批处理作业。
仅当前台作业调入/调出,或前台无作业可运行时,方才运行“后台区”中的作业。
提供交互式快速的服务,同时在处理机空闲时运行后台较大的批作业。
多道分时系统
允许在内存中同时存放多道作业,并把具备运行条件的所有作业排成一个队列,让它们依次轮流地获得一个时间片濑运行
与单道分时系统相比较,由于作业数据都在内存,不需要调入、调出开销,所以多道分时系统具有较好的系统性能。
现代分时系统都属于多道分时系统。
实时系统
分时系统为交互式作业提供了快速的响应服务,但还不能满足某些对响应时间要求非常严格的任务需要。
例如,炼钢/炼油控制系统、航空网络售票系统等,对任务的响应时间有更严格的要求
操作系统的进一步发展
个人计算机操作系统:UNIX、OS/2、WINDOWs系列、Windows NT、LINUX等
网络操作系统:网络接口控制器及一些用于驱动的底层软件,远程登陆软件和远程文件访问软件。
分布式操作系统:将用户的应用程序分布在多台处理机上同时运行。合理的调度个处理机,使整个系统获得最大的并行度。
嵌入式操作系统(用于工业控制)
1.4操作系统的功能
操作系统的主要任务
管理处理机
管理存储器
管理输入/输出设备
管理数据文件
提供接口服务
接口功能
接口,指操作系统为用户提供的人机交互界面
命令接口:以命令方式供用户通过键盘终端与计算机交互,如UNIX、DOS
图形化用户接口:Windows系列操作系统则提供了形象、生动的图形化界面,用户只需拖动并点击鼠标,便可轻松操作计算机
程序接口:以系统调用的形式供用户编程时使用。几乎各种操作系统都提供了系统调用,供程序设计
处理机管理
进程控制:创建和撤销进程以及控制进程的状态转换
进程同步:协调,互斥访问临界资源(?如多个打印机打印的内容),协调执行进度
进程通信:进程间的信息交换
进程调度:按一定算法从进程就绪队列中选出一个进程,把处理机分配给它,使之运行。
存储器管理任务
为多道程序的并发执行提供良好的环境
便于用户使用存储器
提高存储器的利用率
为尽量多的用户提供足够大的存储空间
存储器管理功能
内存分配:静态分配/动态分配、连续分配/非连续分配
内存保护:系统内存空间、用户内存空间
地址映射:逻辑地址->物理地址
内存扩充:虚拟存储技术
设备管理任务
为用户程序分配i/0设备
完成用户程序请求的i/0操作
提高处理机和i/0设备的利用率
改善人机界面
设备管理功能
缓冲管理
设备分配
设备处理:启动设备、中断处理
虚拟设备功能
RAID技术、磁盘调度
管理用户文件和系统文件
管理文件的存储空间
保证文件数据的安全
方便用户使用文件
文件目录管理
文件的逻辑组织与访问方式
存储空间的管理:文件的物理组织、空闲磁盘空间的管理
文件共享与安全
1.5现代操作系统的特征及基本概念
任务并行性:宏观上,指系统中有多个任务同时运行;微观上,指单处理机系统中的任务并发,即多个任务在单个处理机上交替运行(实际上串行);或多个处理机系统中的任务并行,即多个任务在多个处理机上同时运行。
资源共享性:宏观上,指多个任务可以同时使用系统资源;微观上,指多个任务可以交替互斥的使用系统中的某个资源(实际上也是串行)。
1程序执行结构不确定,程序不可再现
2多道程序环境下,进程以异步方式执行。
基本概念
多道程序设计
:指,系统中允许多道程序同时准备运行,当正在运行的那道程序因为某种原因(比如等待输入或输出数据)暂时不能继续运行时,系统将自动地启动另一道程序运行;一旦原因消除(比如数据已经到达或数据已经输出完毕),暂时停止运行的那道程序在将来某个时候还可以被系统重新启动继续运行。
协调因争夺处理机或者输入/输出设备而产生的冲突,解决同步、互斥和死锁问题。
防止各道程序之间的交叉和冲突,防止作业有意无意地破坏。
必须建立高效、可靠和方便的文件系统,有效地管理和存取系统中的软件资源和辅存空间
进程与线程
进程是指,程序的一次执行,包括可执行的程序、程序所需的数据和相关状态信息。进程是拥有资源的最小实体,在传统OS中,进程同时也是系统调度的最小单位。
线程是指,程序的一次相对独立的运行过程;在现代OS中,线程是系统调度的最小单位。
作业时指计算机用户在一次上机过程中要求计算机系统为其所做工作的集合;作业中的每项相对独立的工作称为作业步。通常,人们用一组命令来描述作业;其中,每个命令定义一个作业步。
作业的基本类型
脱机作业
联机作业
在经典的多任务操作系统环境下,任务与进程是等同的,都被认为是系统的最小工作单位
任务是从系统资源分配的角度描述程序在系统中的运行
进程则从处理器利用和工作流程控制的角度描述程序的执行。
程序员习惯于称呼进程,而工程师则习惯称呼任务
系统调用时操作系统提供的最基本的一级服务,供用户程序调用。
系统调用只能在程序中作为程序语句使用,不能单独使用。
英文Interface在操作系统中具有接口和界面两种含义。
接口多用于描述系统硬件之间的连接关系,以及软件和程序模块间的调用关系,如总线接口、打印机接口等。
界面多用于描述用户与系统之间的操作环境,以及人机之间的交互方式和过程,如字符界面、图形用户界面等。
定义:为了能在有限的内存空间中运行更大、更多的进程(程序),可以将一部分磁盘空间虚拟为逻辑内存,使用户感觉到一个比物理内存空间大得多的逻辑内存空间,即实际物理内存空间与虚拟的那部分逻辑内存空间的总和,统称为虚拟内存空间。
特点:有了虚拟存储技术,进程执行时,只需要预先在物理内存中装入进程的一部分程序代码和数据,进程即可开始执行。
当需要的程序代码和数据不在物理内存时,根据需要临时装入,而整个操作对用户透明。
文件是若干相关数据的集合,有的操作系统将程序、数据以及各种外部设备统统称为文件。唯一的文件名
对文件的操作包括文件的建立、修改、删除、重命名、设置访问权限等。
概括的说,文件就是命名了的字节流,它是现代操作系统对计算机系统中种类繁多的外部设备进行高度抽象的结果。
1.6操作系统分类
按照硬件平台系统结构不同分类:
单机操作系统、嵌入式操作系统和多机操作系统(并行操作系统、分布式操作系统、网络操作系统、机群操作系统等)
根据操作系统在用户界面的使用环境和功能特征的不同分类:
批处理系统、分时系统和实时系统
现代操作系统通常兼有分时和批处理功能
工作方式:
1.
2.
主要优点:多道程序由操作系统自由调度执行,大大降低了人工干预对系统性能的影响,资源利用率高,系统的吞吐量大。
缺点:
(1)
(2)
分时操作系统
提供了一个多用户工作环境,一台主机连接若干台终端,每台终端一个用户使用。
用户交互式地向系统提出联机命令请求,系统接收所有用户的命令,采用分时原则处理服务请求,再通过交互式终端显示执行结果。
特性:
多路性:一台主机上同时连接多台终端
独立性:每个用户各自通过自己的终端进行输入/输出,互不干扰。用户感觉自己独占终端和主机资源。
交互性
指能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行的操作系统。
设计目标:对外部请求必须及时响应,在严格规定的时间内完成某事件,要求系统具有极高的可靠性和完整性。
指,在计算机网络环境中提供网络管理通信,安全、资源共享和各种网络应用等功能的操作系统
目标:为了实现网络中各计算机之间额通信和网络资源共享,提高网络资源的利用率和网络的吞吐量。
分布式系统是指多个处理机通过通信线路互连而构成的系统,系统的处理和控制功能分布在各个处理机上。
配置在分布式系统上的操作系统成为分布式操作系统,它负责分布式系统中任务分配、资源管理等功能服务。
分布式系统与计算机网络区别
1分布式系统中的所有资源都是共享的,由分布式操作系统进行集中、统一管理。整个系统对用户透明。
2计算机网络中允许每台计算机配置自己的操作系统,通过网络协议实现网络资源的统一管理,网络操作系统可以架构于不同的操作系统之上,范围很广。网络操作系统也不要求对网络资源进行透明访问,用户可以清楚地知道提交的任务在哪台计算机上完成的。
指运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等资源进行协调、调度、指挥和控制的系统软件。
嵌入式操作系统在工业控制、军事及民用设施中有着广泛的应用前景。
1.7现代主流操作系统简介。
Windows 操作系统
Windows是一个多任务操作系统,它允许用户同时运行多个应用程序,或在一个程序中同时做几件事情。系统为每个应哟个程序打开一个窗口。用户可以移动窗口,或在不同的应用程序之间切换。
Windows NT及Windows 2000都属于多用户操作系统。Windows NT支持对称多处理机、多线程、多个可装卸文件系统,兼容POSIX标准(使操作系统具有移植性)
UNIX是一个由C语言编写的、多用户多任务操作系统。(多进程)
已应用于从嵌入式处理器到工作站、桌面系统,乃至服务于大群用户的高性能多处理机系统
Linux是UNIX变种,是一个源代码开放的、多用户操作系统。
Linux支持多用户、多任务、分页式虚拟存储、动态链接库、动态调整文件系统缓冲区大小等功能。
其网络功能非常强大,几乎能与当前绝大多数网络互连。