操作系统基础(第一章)_第1页
操作系统基础(第一章)_第2页
操作系统基础(第一章)_第3页
操作系统基础(第一章)_第4页
操作系统基础(第一章)_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、指定教材 The MINIX Book: “Operating Systems: 设计与实现设计与实现” by Andrew Tanenbaum and Albert Woodhull, 第二版第二版. 中文版:中文版: 操作系统设计与实现(第二版)操作系统设计与实现(第二版)(电子工业出版社)(电子工业出版社) 嵌入式实时操作系统嵌入式实时操作系统uCOS-II 邵贝贝邵贝贝需要具备的一些技能需要具备的一些技能 编程语言: -C (C+) and 汇编-数据结构&计算机组成原理基础概念 1.1 什么是操作系统? 1.2 基本发展史 1.3 核心概念s. 1.4 系统调用是什么? 1.

2、5 操作系统的组成Kernel of SVR2 of AT&T UnixMinix OS Structure操作系统在计算机系统中的地位操作系统在计算机系统中的地位引入操作系统的目标引入操作系统的目标 有效性(系统管理人员的观点):管理和分配硬件、软件有效性(系统管理人员的观点):管理和分配硬件、软件资源,合理地组织计算机的工作流程资源,合理地组织计算机的工作流程 方便性(用户的观点):提供良好的、一致的用户接口,方便性(用户的观点):提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别弥补硬件系统的类型和数量差别 可扩充性(开放的观点):硬件的类型和规模、操作系统可扩充性(开放的

3、观点):硬件的类型和规模、操作系统本身的功能和管理策略、多个系统之间的资源共享和互操本身的功能和管理策略、多个系统之间的资源共享和互操作作1.1.2 操作系统的作用 操操作作系系统统的的作作用用( (1)1) OS是计算机硬件、软件资源的管理者。 管管理理对对象象包包括:括:C CP PU U、存存储储器、器、外外部部设设备、备、信信息息(数数据据和和软软件)件); 管管理理的的内内容:容:资资源源的的当当前前状状态态(数数量量和和使使用用情情况)况)、资资源源的的分分配、配、回回收收和和访访问问操操作,作,相相应应管管理理策策略略(包包括括用用户户权权限)限)。 操操作作系系统统的的作作用用

4、( (2)2) OS是用户使用系统硬件、软件的接口。 系系统统命命令令(命命令令行、行、菜菜单单式、式、命命令令脚脚本本式、式、图图形形用用户户接接口口G GU UI I); 系系统统调调用用(形形式式上上类类似似于于过过程程调调用,用,在在应应用用编编程程中中使使用)用)。 操操作作系系统统的的作作用用( (3)3)OS是扩展机(extended machine)/虚拟机(virtual machine)。 在在裸裸机机上上添添加:加:设设备备管管理、理、文文件件管管理、理、存存储储管管理理(针针对对内内存存和和外外存)存)、处处理理机机管管理理(针针对对C CP PU U); 另另外,外,

5、为为合合理理组组织织工工作作流流程:程:作作业业管管理、理、进进程程管管理理。OS的定位计算机系统计算机系统( (层次结构层次结构) )软件软件硬件及固件(裸机)硬件及固件(裸机)应用软件应用软件系统软件系统软件编辑软件编辑软件编译软件编译软件操作系统操作系统操作系统的非形式化定义(关键点):系统软操作系统的非形式化定义(关键点):系统软件,程序模块的集合,资源管理和用户接口功件,程序模块的集合,资源管理和用户接口功能能1.1.3 操作系统举例 MS OS: MS DOS, Windows 98, Windows XP, Windows 2000,Windows2003,Vista. UNIX

6、: BSD, SRV4, OSF1, SCO UNIX, AIX, Solaris, Minix, Linux, Red Hat, NOS: Novell Netware RTOS: VxWorks, pSoS, Nucleus, RTOS1.2 操作系统的发展历史 1.2.1 推动操作系统发展的主要动力 1.2.2 手工操作 1.2.3 单道批处理系统(simple batch processing) 1.2.4 多道批处理系统(multiprogramming system) 1.2.5 分时系统(time-sharing system) 1.2.6 个人计算机 1.2.7 MINIX的历

7、史1.2.1 推动操作系统发展的主要动力推动操作系统发展的主要动力 资源利用率需要提高:资源利用率需要提高:CPUCPU的占用率,外设繁忙程度的占用率,外设繁忙程度 更多外设需要支持更多外设需要支持: :指令位,指令位,8 8位、位、1616位、位、3232位、位、6464位位 更多用户需求要满足更多用户需求要满足: :商务、办公、家庭、开发商务、办公、家庭、开发 更多新领域要支持:设计、科学计算、数据管理、娱乐更多新领域要支持:设计、科学计算、数据管理、娱乐 更多应用形态要满足:集中式、共享式、个人式更多应用形态要满足:集中式、共享式、个人式1.2.2 手工操作 1946 50年代(电子管

8、vacuum tubes),集中计算(计算中心),计算机资源昂贵; 工作方式 用户:用户既是程序员,又是操作员;用户是计算机专业用户:用户既是程序员,又是操作员;用户是计算机专业人员;人员; 编程语言:为机器语言;编程语言:为机器语言; 输入输出:纸带或卡片;输入输出:纸带或卡片; 计算机的工作特点 用户独占全机:不出现资源被其他用户占用,资源利用率用户独占全机:不出现资源被其他用户占用,资源利用率低;低; CPU等待用户:计算前,手工装入纸带或卡片;计算完等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;成后,手工卸取纸带或卡片;CPU利用率低;利用率低; 主要矛盾主要矛

9、盾 计算机处理能力的提高,手工操作的低效率(造成浪计算机处理能力的提高,手工操作的低效率(造成浪费);费); 用户独占全机的所有资源;用户独占全机的所有资源; 提高效率的途径提高效率的途径 专门的操作员,批处理专门的操作员,批处理1.2.3 单道批处理系统 (simple batch processing, uniprogramming) 批处理中的作业的组成:批处理中的作业的组成: 用户程序用户程序 数据数据 作业说明书(作业控制语言)作业说明书(作业控制语言) 批:批: 供一次加载的磁带或磁盘,通常由若干个作业组装成,供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系

10、统软件(系统带)在处理中使用一组相同的系统软件(系统带) 两种批处理方式两种批处理方式(1)-联机批处理联机批处理 用户提交作业:以纸带或卡片为介质;用户提交作业:以纸带或卡片为介质; 操作员合成批作业:结果为磁带介质;操作员合成批作业:结果为磁带介质; 批作业处理:对批作业中的每个作业进行相同的处理:从批作业处理:对批作业中的每个作业进行相同的处理:从磁带读入用户作业和编译链接程序,编译链接用户作业,磁带读入用户作业和编译链接程序,编译链接用户作业,生成可执行程序;启动执行;执行结果输出。生成可执行程序;启动执行;执行结果输出。 这时的问题:慢速的输入输出处理仍直接由主机来完成。这时的问题:

11、慢速的输入输出处理仍直接由主机来完成。输入输出时,输入输出时,CPU处于等待状态。处于等待状态。 两种批处理方式两种批处理方式(2)-脱机批处理脱机批处理 卫星机:完成面向用户的输入输出(纸带或卡片),中间卫星机:完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上。结果暂存在磁带或磁盘上。 作业控制命令由监督程序作业控制命令由监督程序(monitor)来执行,完成如装入来执行,完成如装入程序、编译、运行等操作。程序、编译、运行等操作。 优点:同一批内各作业的自动依次更替,改善了主机优点:同一批内各作业的自动依次更替,改善了主机CPU和和I/O设备的使用效率,提高了吞吐量。设备的使

12、用效率,提高了吞吐量。 缺点:磁带或磁盘需要人工装卸,作业需要人工分类,监缺点:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)。督程序易遭到用户程序的破坏(由人工干预才可恢复)。通道和中断技术 60年代初,发展了通道技术和中断技术,这些技术的出现使监督程序在负责作业运行的同时提供I/O控制功能。 通道:用于控制通道:用于控制I/O设备与内存间的数据传输。启动后可设备与内存间的数据传输。启动后可独立于独立于CPU运行,实现运行,实现CPU与与I/O的并行。的并行。 通道有专用的通道有专用的I/O处理器,可与处理器,可与CPU并行工作并行工作 可实现可

13、实现 I/O联机处理联机处理 中断是指中断是指CPU在收到外部中断信号后,停止原来工作,转在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。去处理该中断事件,完毕后回到原来断点继续工作。 中断处理过程:中断请求,中断响应,中断点(暂停中断处理过程:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并继续原有任务(恢复中断点的现场并继续原有任务 可处理算术溢出和非法操作码,死循环(利用时钟中可处理算术溢出和非法操作码,死循环(利用时钟中断进行超时限定)断进行超时限定) 监督程

14、序发展为执行系统监督程序发展为执行系统(executive system),常驻内存,常驻内存单道批处理的主要问题 CPU和和I/O设备使用忙闲不均(取决于当前作业的特性)。设备使用忙闲不均(取决于当前作业的特性)。 对计算为主的作业,外设空闲;对计算为主的作业,外设空闲; 对对I/O为主的作业,为主的作业,CPU空闲;空闲;1.2.4 多道批处理系统 (multiprogramming system) 60年代中 70年代中(集成电路),利用多道批处理提高资源的利用率。 多道批处理的运行特征多道批处理的运行特征 多道:内存中同时存放几个作业;多道:内存中同时存放几个作业; 宏观上并行运行:都

15、处于运行状态,但都未运行完;宏观上并行运行:都处于运行状态,但都未运行完; 微观上串行运行:各作业交替使用微观上串行运行:各作业交替使用CPU;多道批处理系统的特点多道批处理系统的特点 优点:优点: 资源利用率高:资源利用率高:CPU和内存利用率较高;和内存利用率较高; 作业吞吐量大:单位时间内完成的工作总量大;作业吞吐量大:单位时间内完成的工作总量大; 缺点:缺点: 用户交互性差:整个作业完成后或中间出错时,才与用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;用户交互,不利于调试和修改; 作业平均周转时间长:短作业的周转时间显著增长;作业平均周转时间长:短作业的周转

16、时间显著增长;1.2.5 分时系统 (time-sharing system)- 70年代中期至今 “分时分时”的含义分时是指多个用户分享使用同一台计算机。的含义分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。多个程序分时共享硬件和软件资源。 多个用户分时:单个用户使用计算机的效率低,因而多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由用户。有用户输入时由CPU执行,处理完一次用户输执行,处理完一次用户输入后程序暂停,等待下一次用户输入时走时停入后程序暂停,等待下

17、一次用户输入时走时停 前台和后台程序前台和后台程序(foreground & background)分时:分时:后台程序不占用终端输入输出,不与用户交互现后台程序不占用终端输入输出,不与用户交互现在的图形用户界面在的图形用户界面(GUI),除当前交互的程序,除当前交互的程序(输入焦点输入焦点)之外,其他程序均作为后台之外,其他程序均作为后台 通常按时间片通常按时间片(time slice)分配:各个程序在分配:各个程序在CPU上执上执行的轮换时间。行的轮换时间。分时系统的特点分时系统的特点 人机交互性好:在调试和运行程序时由用户自己操作。人机交互性好:在调试和运行程序时由用户自己操作。

18、 共享主机:多个用户同时使用。共享主机:多个用户同时使用。 用户独立性:对每个用户而言好象独占主机。用户独立性:对每个用户而言好象独占主机。1.2.6 个 Personal Computer Operating System针对单用户使用的个人计算机进行优化的操作系统。 个人计算机操作系统的特征个人计算机操作系统的特征 应用领域:事务处理、个人娱乐,应用领域:事务处理、个人娱乐, 系统要求:使用方便、支持多种硬件和外部设备(多系统要求:使用方便、支持多种硬件和外部设备(多媒体设备、网络、远程通信)、效率不必很高。媒体设备、网络、远程通信)、效率不必很高。 常用的个人计算机操作系统常用的个人计算

19、机操作系统 单用户单任务:单用户单任务:MS DOS 单用户多任务:单用户多任务:OS/2, MS Windows 3.x, Windows 95, Windows NT, Windows 2000 Professional 多用户多任务:多用户多任务:UNIX(SCO UNIX, Solaris x86, Linux, FreeBSD)1.2.7 MI 多用户多任务,16/32/64位 BSD, SVR4(模块式结构), OSF/1(微内核结构) 1965年:年:MIT的的Multics,由于规模和进展而没有达到目,由于规模和进展而没有达到目标;标; 1969年:年:AT&T,PDP

20、-11上的上的16位操作系统;位操作系统; 1974年:年:UNIX系统正式发表系统正式发表(第五版第五版),在大学得到使用,在大学得到使用和好评;和好评; 1980年:年:University of California at Berkeley为为VAX11发表发表BSD4.0;以后,;以后,UNIX就以就以AT&T和和Berkeley为主分为主分别开发,有多种变种;别开发,有多种变种; 1989年:年:UI (UNIX International)发表发表UNIX system V Res4.0;使;使BSD和和System V在用户界面上统一;在用户界面上统一; 1991年芬兰大

21、学生年芬兰大学生Linus Benedict Torralds开发了第一开发了第一个个Linux版本。版本。 1994年:年:Linux 1.0 MULTICS-UNIX UNIX(6) free-莱昂氏源代码分析 UNIX(7) not freeto Univ, just mentioned the theory MINIX-all the codes are different For the limitation of MINIX (just for teaching) Linux appeared-Red hat UNIX系统的特点系统的特点 字符用户界面和图形用户界面GUI(X Wi

22、ndow)。 抢先式多任务,多线程。支持动态链接。支持对称式多处理。 虚拟存储:段页式,有存储保护。 文件系统:多级目录,文件卷可以在子目录下动态装卸。无文件属性,可有别名。 采用设备文件的形式(读写,参数控制)。设备驱动程序修改后需要重新编译连接生成内核。 支持多种硬件平台。 易移植:主要代码用C语言写成; 变种很多,很难标准化。Processes and TasksThe Internal Structure of Minix Minix is structured in four layers. User processes (Init) Server processes I/O tas

23、ks and system task (Disk task) Process managementProcess Management in Minix Bottom layer of the structure. Catches hardware interrupts and software traps. Performs scheduling. Handles messages between processes (checks for protection, locates send and receive buffers, copies messages between sender

24、s and receivers buffers.)概念二:文件概念二:文件互互细细节,节,方方便便用用户户管管理:理:如:如:读读写写我我们们的的磁磁盘盘驱驱动动器,器,我我们们只只需需要要使使用用read()(),write()()这这些些函函数,数,实实际际的的交交互,互,都都是是由由OS的的驱驱动动来来具具体体完完成,成,程程序序员员不不用用关关心。心。当当磁磁盘盘出出错,错,相相应应的的错错误误信信息息会会通通过过OS里里的的系系列列错错误误返返回回代代码码返返回,回,用用户户可可以以获获得得具具体体信信息。息。早早期期的的Linux在在访访问问磁磁盘盘和和光光驱驱时,时,需需要要使使

25、用用“mount”命命令令来来挂挂装装磁磁盘,盘,访访问问的的位位置置也也是是固固定定的:的:/mnt/floppy。 File system文件保护机制Linux必会技能 rwx r- r- = r w x r - - r - - r: read w: write x: execute(file) search(folder,directory)Owner (who create the directory or file)The same group usersThe users of other groups一个文件有的权限部有三组一个文件有的权限部有三组 rwx rwx rwx每一位只

26、有两种可能:一种是这个位的权限如r另一种是-表是无此权限,所以可以用二制表示有和没有,但为简化所以chmod后而跟是8进制数,每个数代表属主属组和其它,r为4,w为2,x为1 -为0,将每组中的三个要素的数字加到一起就是这个组的权限代数,每个权限与进制数的关系如下 rwx rwx rwx 421 421 421 也就是4+2+1=7 4+2+1=7 4+2+1=7 所以最大权限是777又如下面的权限就是 660rw- rw- -420 420 000 4+2=6,4+2=6,0再如下面的权限是 526r-x -w- rw-401 020 420 也就是说想把一个文件的权限变成以上情况则输入ch

27、mod 526 filename ; 0751呢 但在此要说明一下,只是运行chmod 的用户对此文件有w的权限才能重新设置文件权限。root可设置任何文件的权限.How to use mount /mnt/floppy /mnt/cdrom it is the default directory for mount floppy and cd-rom, its folder, and in some linux systems, the default is empty, we can add files there, but once the real driver is mounted,

28、 the original files wont be visit,when we change our floppy, we have to unmount the disk, and remount the new one.文文件件的的另另类类存存在在- - - -设设备备文文件件In linux ,in order to make the I/O devices looks more like file, the special appeared.block special file diskcharacter special file printer, modem 由于设备文件就代表了

29、整个设备,就可以使用标准命令直接操作设备文件,从而直接访问硬件设备。利用这种方式,能完成很多有用的工作,但是这种方式也非常危险,例如对硬盘设备文件的操作失误会破坏整个硬盘的数据。幸好大部分直接访问设备的操作都为读取相应数据的操作,而不需要写入磁盘设备。当某个设备不可使用,则其对应的设备文件也不能正常访问,因此直接访问设备文件可以判断对应的设备是否真正正常。例如,判断连接到第一个串口,ttyd0上的鼠标是否正常工作,使用命令 “cat /dev/ttyd 0” 来查看ttyd0上的输入数据,如果连接的有鼠标且工作正常,那么在移动鼠标的同时屏幕上就会显示出接收到的杂乱数据。如果没有反应,说明鼠标工

30、作不正确。但这也可能是其他程序接管了这个设备.文件的另类存在文件的另类存在- 管道文件管道文件Pipe 连接两个进程的虚拟文件概念三:概念三: Shell Editors、compilers assemblers linkers interpreters not belong to OS, but from them ,we could familiar with the OS. #/bin/sh Shell-a command interpretermany command there, we will familiar with them later. Eg: Sh XXX.sh chan

31、ge its property, and run it概念四:系统调用概念四:系统调用System Call 系统调用是操作系统提供给软件开发人员的唯一接口,开发人员可利用它使用系统功能。OS核心中都有一组实现系统功能的过程(子程序),系统调用就是对上述过程的调用。 For computers different type, the system call are different, and almost all the basic functions are programmed by assembler language.Eg:Call read function in C langua

32、ge.count=read ( file, buffer, nbytes );file: the file we are operate on;buffer: the buffer area we are using;nbytes: the bytes we will read.(sometimes, the count may less then nbytes)System Call of Minix-Six Parts. Process management.Signals.File management.Directory & Files System Management.Pr

33、otection.Time ManagementIn M Any file has an only id to identify it, and any file has an i-node, it tell us who owns the file, and where the disk blocks are. The directory is a file ,it stored the i-node and filename, now back to our link:Mo mount (“/dev/fd0”, “/mnt/”,0)Ca To make the file could be

34、visited more quickly, almost all the OS design a cache, similar with the cache of our CPU. Advantage:improve its speed. Disadvantage:may lead to crash.resaon:how to avoid the prob:CacheCPUDir Table1.5 操作系统的架构 通过分析操作系统的系统调用来分析操作系统的大概架构发展过程: 这里将介绍四种架构: * Monolithic systems整体式 * Layered systems-分层式 * V

35、irtual machines-虚拟机 * Client-server model-客户-服务机模型1.5 1 Monolithic Systems In this technique: each procedure in this system has a well-defined interface in terms of parameters and results. each one is free to call any other one. How to realize this: compiles all the individual procedures, and then b

36、inds them together to a single object. Each procedure is visible to all others.User program run in user modeOperating system run in kernel modeHow it works1. User program traps to the kernel use an kernel call or supervisor call2. Operating system determines service number required from the paramete

37、rs to check the service number3.Operating system calls service procedure check dispatch table ,ensured the sys call4.Control is returned to user program back to user mode, return the valuesSimplify-What we need when design an OS? *A main program invokes the requested service procedure;(3) *A set of

38、service procedures carry out the system calls;(2) *A set of utility procedures help the service procedures.Main ProcedureService ProcedureUtility Procedure1.5 2 Layered Systems Compare with the pre pic ,it looks like a simplified layered system, each layer serves for its upper level, and if we add m

39、ore details there, we will got the THE. Dijkstra and his students designed the system for Electrologica X8 -1968 The THE is of six layers, each layer charge of its work ,and serve for upper layers. When in this layer, we neednt care more detail of other layers.Layers of THE Layer0: provided the basi

40、c multiprogramming of the CPU; Layer1: did the memory management; Layer2: handled communication between each process and operation console; Layer3: Input/Output management Layer4: User programs Layer5: The operator! ! ! All these layers just the design aid, in fact, all the parts are ultimately linked together into a single object program. In MULTICS Layers is replaced by concentric rings, and each ring

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论