天大《操作系统原理》学习笔记一
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主 题: 《操作系统原理》学习笔记
内 容:
《操作系统原理》学习笔记一
——操作系统概论
一、操作系统的地位及作用
1、操作系统的地位
计算机系统由硬件系统和软件系统组成。
软件系统是指使计算机完成特定工作的程序的总称。
硬件系统是指组装成计算机本体和设备的具有机械、电、磁、声、光等不同物理特性的各种器件和部件。
系统软件系统包括系统应用软件和操作系统:
l操作系统是用于管理和控制系统资源的程序,它是计算机系统中最基本的系统软件。
l系统应用软件包括了完成系统服务所需的各种程序。
计算机系统的层次结构图:
操作系统是最靠近硬件的系统软件处于核心地位。
层次结构图不只表示软件的分类和层次,还表示各个层次之间存在的一种单向服务关系,即内层向外层提供了一组接口。
内层以事先约定好的方式通过接口为外层提供服务。
外层则通过该接口使用内层提供的服务功能实现本身的功能。
1.1硬件系统
运算器、控制器、存储器以及输入输出设备。
操作系统存在的物质基础。
提供给操作系统的接口是机器的指令系统,操作系统的程序使用指令系统提供的机器指令功能实现对硬件的直接管理和控制。
1.2操作系统
最靠近硬件,直接控制和管理硬件。
硬件系统在操作系统的管理控制下,功能得以充分发挥。
从用户观点看,引入操作系统后,计算机系统成为一台比硬件系统功能更强、服务质量更高、使用更方便的机器。
提供给上层两种接口:操作接口和编程接口。
用户可以通过操作接口方便地使用计算机。
编程接口是一系列的系统调用,其它程序可以使用该接口使操作系统为其服务,使用硬件资源和软件资源。
1.3系统应用软件
由一系列的语言处理程序和系统服务程序构成。
系统应用层的程序是在操作系统的支持下工作的,它们使用操作系统的系统调用和机器指令编制程序。
对上层提供了编制源程序的语句和语法或调试命令、系统维护命令等。
系统应用程序属于系统软件,但要通过操作系统才能使用和控制系统资源。
1.4应用软件
计算机用户为某一特定需要而专门设计的程序,或者是用户为解决某一个具体问题而编制的程序。
使用其下层的系统应用程序提供的服务实现自己的特定功能。
2.操作系统的作用
2.1屏蔽硬件物理特性和操作细节,为用户使用计算机提供便利。
通常,把没有任何软件支持,仅由计算机硬件、指令系统和微程序形成的计算机称为裸机。
计算机问世的初期,计算机工作者就是在裸机上通过手工操作和使用机器语言编程来直接管理和控制硬件。
硬件体系越来越复杂,使用这种方式直接来管理和控制硬件成为一件十分困难的工作。
编制一种通用的程序由计算机自己来管理和控制复杂的硬件和设备。
这就形成了早期的操作系统。
操作系统完全屏蔽了硬件和设备的物理特性和操作细节。
操作系统是直接位于裸机上层的软件,由它管理和控制具有各种不同物理特性的硬件和设备,完成各种复杂操作。
2.2有效管理系统资源,提高系统资源使用效率。
当前计算机系统中可以同时运行多个程序,系统资源同时供多个程序共同使用。
系统资源是有限的,所以必定存在着多个程序对有限系统资源的竞争使用。
如果让各个程序自主地任意使用这些系统资源必定引起系统的混乱。
操作系统的主要任务之一是管理和控制系统资源,对资源进行合理分配和有效地管理,不但满足多个程序的需要,同时还要最大限度地提高系统资源的使用效率。
操作系统的定义:
操作系统是计算机系统的最基本的系统软件,它用于有效地管理系统资源,并为用户使用计算机提供了便利的环境。
二、操作系统的功能
1.单道系统与多道系统
在早期的计算机系统中,每次只能运行一个程序,一个程序常常就是一道用户作业,所以这种系统称为单道程序设计系统,简称单道系统。
处理机和所有的系统资源仅为这一道作业服务。
运行特点:C P U与外部设备以串行方式工作,即C P U与外部设备交替运行。
早期计算机C P U每秒仅几千次,外部设备数量少而简单。
随着计算机的运行速度提高,高速C P U与慢速设备之间的矛盾日益突出,串行工作方式使C P U的使用效率大大降低。
在速度50万次/秒的机器上运行,C P U运行0.5分完成计算任务,但设备运行仍为10分钟。
C P U与设备运行时间比为1:20,C P U运行占1/21,约5%。
在作业运行中约95%的时间内C P U都处于闲置状态。
严重影响了整个计算机系统的使用效率。
为了解决单道系统的效率低下的问题,考虑到能否在C P U等待设备操作的闲置期间,引进另一个程序来使用C P U。
多道程序设计(M u l t i p r o g r a m m i n g)技术,使用这种技术开发出的操作系统,称为多道程序设计系统,简称多道系统。
多道系统是指在计算机中同时存放若干道用户程序,这些程序轮流使用C P U在系统中交替地运行。
多道系统的技术核心是实现了C P U与设备的并行工作。
在多道系统中,从宏观上看是多个程序在使用计算机同时运行,从微观上这些程序在轮流交替地使用C P U执行。
在多道系统中操作系统的任务就是使C P U与设备高度并行,最大限度地提高C P U的使用效率。
2.操作系统的功能
2.1存储管理
(1)存储分配。
为系统中运行的多个用户程序分配内存空间,完成相对地址向绝对地址的变换。
(2)存储安全和保护。
保护内存区域不被非法访问。
(3)存储共享。
用户程序共同使用内存中的某些程序或数据。
(4)存储扩充。
操作系统通过软件的方法为用户程序提供一个比物理内存空间大得多的存储空间,这就是虚拟存储技术。
2.2进程管理
进程管理实质上是对处理机进行管理。
(1)进程控制。
对多个进程的状态进行合理的控制,使它们合理有序地在系统内运行。
(2)进程调度。
按照一定的调度算法,动态地将处理机分配给某一个等待进程。
进程调度是操作系统的核心。
(3)进程通信。
交换信息,通过进程通信协调相关进程的推进速度。
2.3设备管理
(1)设备分配。
多个任务竞争使用设备时,按照一定的分配策略合理地分配设备。
(2)设备控制。
通过设备驱动程序控制设备,使用户不必了解设备的物理特性和技术细节,就可以方便地使用和操作这些设备。
(3)设备使用。
提供统一的操作接口。
(4)发挥设备和主机的并行工作能力。
通过使用缓冲技术和虚拟设备工作方式,使主机与设备的并行得到充分发挥。
2.4文件管理
(1)文件的组织和管理。
提供文件的物理组织和文件的逻辑组织。
(2)文件使用。
提供对文件操作的统一接口。
用户只需使用文件名就可以对文件进行读取、写入、检索、修改等操作。
(3)文件的保护和共享。
杜绝对文件的非法访问,以免文件的破坏。
允许多个用户可以同时访问某些文件。
2.5作业管理
(1)作业的组织与管理。
按照用户的要求和作业的性质调度作业进入计算机运行。
(2)提供用户与计算机系统的接口。
操作系统提供了两种用户接口:
l作业级接口:向用户提供作业控制语言和操作命令。
l程序级接口:提供一组系统调用,又称广义指令.用户程序通过接口向操作系统提出资源申请,由操作系统为其服务。
三、操作系统的分类
1.批处理操作系统
对多个用户的作业进行成批处理的系统。
设计目标是提高系统资源的使用率和作业吞吐量。
为了减少人为干预,提高计算机的利用效率,把需要机器运行的若干程序按一定顺序组织在一起成为一道作业,把它成批地交给计算机,让计算机自动地、按顺序逐个运行程序。
采用这种批量处理运行程序的操作系统就称为批处理操作系统
1.1单道批处理系统
处理机和所有的系统资源仅为一道作业服务。
解决了人工干预对机器运行效率的影响
1.2多道批处理系统
处理机与设备并行工作方式,处理机同时运行多道作业,业轮流交替占用处理机运行。
不仅处理机,其它所有的系统资源均由多个作业共享。
批处理系统中作业以成批的方式自动运行,所以它适合运行那些经过调试的固定程序。
2.分时操作系统
在分时系统中存在多个程序,它们轮流占用处理机运行。
所谓分时,就是把处理机的时间分成若干小的时间片,把每个时间片轮流分配给各个程序。
用户感觉是在独自使用一台计算机资源。
用户可以通过终端与计算机自由地进行交互,调试修改和运行自己的程序,并且可控制程序的运行。
分时操作系统主要基本特征:
①同时性。
若干个用户能同时使用一台计算机系统,从宏观上是各个用户在并行工作,从微观上是各用户在轮流使用计算机。
②独立性。
各用户之间彼此独立地操作,互不干扰。
③及时性。
系统能在很短的时间内对用户的操作作出响应。
④交互性。
用户可以与计算机系统进行会话。
3.实时操作系统
实时就是“立即”、“现在”的意思,是指对随机发生的外部事件能及时作出响应和处置。
实时操作系统可以分为两类:实时控制系统、实时信息处理系统。
实时操作系统的设计目标:实时响应、处置能力、高可靠性、安全性。
实时操作系统与分时操作系统的比较:
(1)目标不同。
分时系统通用性强。
用户可以开发程序,修改、调试和运行应用程序。
实时系统具有特殊用途。
系统中要预先装入处理各种外部事件的程序。
不允许用户修改系统内的程序。
(2)交互能力不同。
分时操作系统具有较强的交互作用和会话能力。
实时系统只响应预先约定的用户请求,交互能力有一定限制。
(3)响应时间不同。
分时操作系统中是秒级。
实时操作通常都是毫秒或微秒数量级。
四、L i n u x操作系统概述
九十年代推出,多用户多任务操作系统,与U N I X兼容,具有U N I X最新的全部功能,功能强大、性能优越、便于使用,源代码公开的免费操作系统。
1.L i n u x的发展历史
芬兰大学生L i n u s T o r v a l d s于1991年8月。
L i n u s在互联网上公布L i n u x版本0.01。
世界各地的L i n u x爱好者通过互联网陆续加入到L i n u x系统的开发中去。
1994年3月正式推出第一个功能完整、性能稳定的L i n u x内核版本L i n u x1.0。
近年来商业软件公司加盟开发L i n u x不断地向高水平、高速度发展。
各种机器平台的L i n u x版本不断涌现。
商业软件公司把L i n u x内核与各种实用程序,如编译器、编辑器、窗口管理器等组合在一起,形成了各种发行套件(d i s t r i b u t i o n)。
L i n u x目前已经成为一个备受关注的稳定、健壮、功能强大的多用户多任务操作系统可以在众多的计算机系统上运行。
由于L i n u x强大的网络管理功能,当前L i n u x已成为网上第二大通用操作系统。
据不完全统计,全世界使用L i n u x操作系统的人已经近千百万之多。
2.L i n u x与G N U
1984年,在R i c h a r d S t a l l m a n的组织下,提出开发基于自由软件思想的G N U的计划。
G N U是G N U’s N o t U n i x的缩写,它的意思是“不是U n i x的U n i x”,即功能与U N I X 完全兼容,但源代码全部重新编写的新操作系统。
所有用户可以免费获得该系统的源代码,并且可以相互自由拷贝。
为了G N U的推行,R i c h a r d建立了美国自由软件基金会F S F(F r e e S o f t w a r e
F o u n d a t i o n),并制定了一份公用版权协议
G P L(G e n e r a l P u b l i c L i c e n s e)。
G N U也有自己的版权声明C o p y l e f t,与一般意义的版权C o p y r i g h t相区别
3.L i n u x的性能
3.1与U I N X操作系统兼容
L i n u x是按照P O S I X(P o r t a b l e O p e r a t i n g S y s t e m I n t e r f a c e f o r U N I X)1003.1标准 开发的操作系统,它与U N I X在功能上完全兼容。
3.2简单廉价的运行条件
L i n u x内核短小精悍,对运行条件要求十分简单,可以在廉价的I B M P C兼容机系列386,486,P e n t i u m上运行。
甚至在只有4M B内存的80386机器上都可以正常使用。
3.3强大的网络功能
L i n u x内核支持各种网络协议,E t h e r n e t, P P P、S L I P、N F S、A X.25、I P X/S P X、
N C P(N o v e l l)。
通过P P P,S L I P可以使用T C P/I P网络服务等。
使用高速M o d e m通过电话线就可以接入I n t e r n e t互联网。
4.L i n u x的技术特点
4.1多任务多用户
多任务:计算机可以在同一时间内运行多个进程,它们互不干扰、相互独立。
多用户:多个用户可以在同一时间内使用一台计算机。
各个用户通过终端,共享主机的资源,每一个用户都感觉到是自己在使用一台独立的计算机。
4.2多平台
L i n u x是在80386机器上开发的,所以它主要在x86平台上运行。
目前L i n u x已经移植到其它平台上运行,如A l p h a、S p a r c、M i p s、A m i g a、P P C等。
4.3设备独立性
为了在增加的新设备时不涉及内核,把设备看出一个独立的文件。
由内核对文件和设备提供统一的接口。
在增加设备时,只需把设备的驱动程序连接到系统中,系统就可以通过接口控制和使用设备。
4.4支持多种文件系统
由于L i n u x采用了虚拟文件系统V F S,可以支持多种不同的物理文件系统
包括e x t、e x t2、m i n i x e x t、e x t2、m i n i x、x i a f s、h p f s、f a t、m s d o s、u m s d o s、v f a t、p r o c、n f s、i s o9660、s m b f s、n c p f s、a f f s、u f s、r o m f s、s y s v、x e n i x、c o h e r n e t等。
这些文件系统的文件可以装载到系统中,系统可以对这些文件进行访问和处理。
4.5完善的虚拟存储技术
采用请求页式存储管理和交换技术,为用户提供比实际内存大的多的虚拟存储空间。
每个用户可以使用4G B的虚拟内存空间,各个用户的存储区域相互独立、彼此隔离,保证了系统和每一个用户的信息安全。
4.6支持多种硬件设备
L i n u x支持的硬件设备种类相当广泛,硬盘驱动器、软盘驱动器、光驱、鼠标、键盘、扫描仪、打印机、数字化仪、声卡、M o d e m、到M P3播放器、手写板、游戏杆、U S B并/串口、数码相机、摄像头、U S B H U B、S C S I卡、声卡、磁带机、光驱、光盘刻录机、网卡、
Z I P/M O驱动器等。
5.L i n u x内核的版本
L i n u x操作系统分为两种版本:L i n u x内核版本,L i n u x发行套件版本。
L i n u x的内核版本号由三部分数字组成:x.y y.z z,x主版本号,表示L i n u x内核功能有重大改进。
y y次版本号,偶数号表示内核是稳定的,奇数号表示内核处于开发过程中,本身仍不太稳定,可能包含着致命的错误。
z z修订号,表示某各主次版本的增补级。
6.L i n u x内核的组成及功能
L i n u x内核由五个子系统组成:
l进程管理。
进程是系统资源分配的基本单位。
对进程使用C P U进行管理和控制。
当多个进程申请使用C P U时,由进程调度程序按照调度方式和调度算法,选择某
一个进程, 使它进入在C P U上的运行状态。
l存储管理。
采用请求页式存储管理技术。
允许多个进程共同使用内存空间为每个进程提供了虚拟存储空间在x86上,进程的虚拟内存可达4G B。
提供了十分可靠
的存储保护措施,用户不能直接访问系统的程序与数据。
用户进程的虚拟地址空
间相互独立,每个用户只能访问自己的地址空间。
l文件系统。
支持多种不同的物理文件系统。
达几十种之多。
L i n u x本身使用E X T2文件系统,采用虚拟文件系统V F S技术,为其他文件系统的使用提供了统一的操
作接口。
L i n u x中把各种设备看做是一种特殊的文件,称为设备文件。
设备文件
与一般文件一样通过统一的文件操作接口进行控制和管理。
所有设备的驱动程序都支持文件操作接口,从而使用户对设备的存取和文件一样
l网络接口。
提供了对各种网络标准的存取和各种网络硬件的支持。
网络接口可分为:网络协议和网络驱动程序。
网络协议负责实现网络传输协议。
网络驱动程序负责与网络设备通讯,网络硬件设备都有设备驱动程序。
l进程间通信。
L i n u x支持多种进程间通信机制。
最基本的是信号机制和管道。
支持S y s t e m V的进程间通信机制,包括消息队列、信号灯和共享内存等。
为了支持不同机器之间的通信,引进了B S D的套接字(S o c k e t)机制。
注:本章相关概念、定义和具体需要掌握的内容请参见教材和课件。