您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 操作系统第1章操作系统概述
1操作系统使用教材:《计算机操作系统》2教学目的•奠定计算机专业知识基础–了解操作系统概念和结构–掌握操作系统相关算法和技术•提升计算机专业动手能力–了解操作系统的设计、使用、管理方法–综合程序设计、数据结构、计算机原理等知识•奠定长远专业发展–塑造创造性思维、建立完整知识体系结构–开拓专业性视野、明确未来专业发展方向3计算机操作系统第一章操作系统概述第二章作业与界面管理(用户接口)第三章文件管理第四章内存管理第五章设备管理第六章进程管理4用户观点下的操作系统第1章操作系统概述1.1操作系统的概念1.1.1什么是操作系统1.用户观点•从用户的观点看,操作系统应该提供一个人与计算机打交道的接口,也就是人机接口。用户可以通过操作系统提供的这个接口使用和控制计算机,从而达到计算机为用户服务的目的。•接口的方式有:图形界面的接口(GraphicalUserInterface,GUI);命令行(CommandLine,CL)接口;软件编程的接口5系统观点下的操作系统2.系统观点•操作系统就是资源的分配者。•操作系统要对I/O设备和用户程序加以控制,保证设备的正常运行,防止非法操作,及时诊断设备的故障等。从这个意义上讲,操作系统又是工作流程的调度者。6操作系统7计算机硬件组成1.1.2计算机系统概述8存贮器层次结构9存贮器相关概念•由程序所生成的地址被称为虚拟地址(VirtualAddress),而由存储器使用的地址称为物理地址(PhysicalAddress)。完成检查和映射工作的装置被称为内存管理单元(MemoryManagementUnit,MMU)。它位于CPU芯片上或者CPU附近,在逻辑上MMU位于CPU和存储器之间。10操作系统的主要功能1.1.3操作系统主要功能11课堂讨论:HelloWorld#includestdio.hintmain(intargc,char*argv[]){puts(helloworld);return0;}12操作系统的处理过程•人机交互阶段–用户通过鼠标双击、DOS命令来执行该程序–操作系统检查命令的合法性、参数的类型和内容•文件系统开始工作–根据目录管理机制找到执行文件的磁盘位置–读取文件头,定位“数据段”和“代码段”的位置•进程管理与内存分配–在内存中创建新的子进程,用于执行Hello程序–将Hello程序映射到进程结构中,读入指令内容–通过进程调度,使得Hello程序获得CPU运行权–设置CPU运行的上下文环境,开始执行Hello程序13操作系统的处理过程•进程管理与内存分配(接前面)–开始运行Hello程序的第一条指令–不断将指令从磁盘读入内存,再从内存读入到CPU寄存器中•系统调用–运行系统调用的指令进行字符串写操作–检查字符串的内容、位置是否正确•设备驱动与硬件工作–找到标准输出设备(伪终端)的控制进程,通知它要写字符串–显示器驱动进程接受指令,并占用CPU开始运行硬件驱动指令–显示器驱动负责检查字符串内容,并将其转换为物理象素阵列–将象素阵列填充到显示存储区中,驱动显示器硬件进行刷新显示•程序运行结束–屏幕上显示“HelloWorld”,显示器驱动进程退出CPU–继续运行Hello程序的后续内容,直至退出14操作系统的地位1.1.4操作系统的地位15操作系统的地位•由此可见,操作系统是裸机之上的第一层软件,它只在核心态模式下运行,受硬件保护,与硬件关系密切。它不仅对硬件资源直接实施控制、管理,而且它的很多功能的完成是与硬件动作配合起来实现的,如中断系统。操作系统的运行要有良好的硬件环境,这种硬件配置环境往往称做计算机的硬件平台。16操作系统的地位•操作系统是整个计算机系统的控制管理中心,其他所有软件都建立在操作系统之上,操作系统对它们既有支配权力,又为其运行建造必备的环境。因此,在裸机之上每加一层软件后,用户看到的就是一台功能更强的机器,通常把经过软件扩充功能后的机器称为“虚拟机”。在裸机安装操作系统之后,就为其他软件和用户提供了工作环境,往往把这种工作环境称为软件平台。17并发性1.1.5操作系统的主要特性1.并发性(Concurrence)•并发性是指两个或两个以上的事件或活动在同一时间间隔内发生。操作系统是一个并发系统,并发性是它的重要特征,操作系统的并发性指它应该具有处理和调度多个程序同时执行的能力。多个I/O设备同时在输入输出;设备I/O和CPU计算同时进行;内存中同时有多个系统和用户程序被启动并交替、穿插地执行,这些都是并发性的例子。18共享性2.共享性(Sharing)•共享性是操作系统的另一个重要特性。共享指操作系统中的资源(包括硬件资源和软件资源)可被多个并发执行的进程共同使用,而不是被一个进程所独占。资源共享的方式可以分成两种:•第一种是互斥访问。系统中的某些资源如打印机、磁带机、卡片机,虽然它们可提供给多个进程使用,但在同一时间内却只允许一个进程访问这些资源,即要求互相排斥地使用这些资源。当一个进程正在使用该资源时,其他欲访问该资源的进程必须等待,仅当该进程访问完毕并释放资源后,才允许另一进程对该资源访问。这种同一时间内只允许一个进程访问的资源称临界资源,许多物理设备,以及某些数据和表格都是临界资源,它们只能互斥地被共享。19共享性•第二种是同时访问。系统中还有许多资源,允许同一时间内多个进程对它们进行访问,这里“同时”是宏观上的说法。典型的可供多进程同时访问的资源是磁盘。•与共享性有关的问题是资源分配、信息保护、存取控制等,必须要妥善解决好这些问题。•共享性和并发性是操作系统两个最基本的特性,它们互为依存。一方面,资源的共享是因为程序的并发执行而引起的,若系统不允许程序并发执行,自然也就不存在资源共享问题。另一方面,若系统不能对资源共享实施有效管理,必然会影响到程序的并发执行,甚至程序无法并发执行,操作系统也就失去了并发性,导致整个系统效率低下。20异步性3.异步性(Asynchronism)•操作系统的第三个特性是异步性,或称随机性。在多道程序环境中,允许多个进程并发执行,由于资源有限而进程众多,多数情况,进程的执行不是一贯到底,而是“走走停停”。例如,一个进程在CPU上运行一段时间后,由于等待资源满足或事件发生,它被暂停执行,CPU转让给另一个进程执行。系统中的进程何时执行?何时暂停?以什么样的速度向前推进?进程总共要花多少时间执行才能完成?这些都是不可预知的,或者说该进程是以异步方式运行的,其导致的直接后果是程序执行结果可能不唯一。21虚拟性4.虚拟性(Virtual)•虚拟性是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术。显然,前者是实际存在的而后者是虚构假想的,采用虚拟技术的目的是为用户提供易于使用、方便高效的操作环境。例如,在多道程序系统中,物理CPU可以只有一个,每次也仅能执行一道程序,但通过多道程序和分时使用CPU技术,宏观上有多个程序在执行,就好像有多个CPU在为各道程序工作一样,物理上的一个CPU变成了逻辑上的多个CPU。22无OS1.2操作系统的发展历史1.2.1手工操作阶段(无OS)23无OS早期的计算机存在几个问题:•(1)编程人员必须熟悉计算机的结构及所有外设。•(2)计算机的利用率低。•(3)程序员必须提前预约使用计算机。•(4)程序员独占使用计算机的全部资源。计算机的CPU和其他设备都在等待用户,而用户的处理时间大部分花费在程序的输入上,所以计算机的利用率非常低。•(5)程序员必须牢记计算机使用的机器码。因为当时没有编程语言,程序员就必须牢记CPU所能认识的所有机器指令代码。24穿孔卡片25单道批处理1.2.2单道批处理系统(SimpleBatchSystem)•单道批处理系统是在20世纪50年代后期~60年代中期,伴随着第二代计算机(晶体管计算机)的出现而产生的。它是对上一节技术及工作流程的改进,具体改进如下:•(1)设置专门的计算机操作及维护人员。•(2)采用脱机方式进行输入/输出。•(3)将磁带技术应用到计算机中。•(4)设置作业说明书,在作业说明书上记录该程序是属于哪个程序员的、需要的编译环境是什么、需要的外设是什么。•(5)编制一个监控程序,并让之常驻内存。•(6)计算机内存中只能保留运行用户的一个程序。26脱机批处理27多道批处理1.2.3多道批处理系统(MultiprogrammedBatchSystem)•多道程序设计(MultiProgramming)是指允许多个程序同时进入一个计算机系统的内存并交替运行的方法。也就是说,计算机内存中同时存放了多道(二个以上相互独立的)程序,它们均处于开始和结束点之间。从宏观上看是并行的,多道程序都处于运行过程中,但都未运行结束;从微观上看是串行的,各道程序轮流占用CPU,交替地执行。引入多道程序设计技术的根本目的是提高CPU的利用率,充分发挥计算机系统部件的并行性,现代计算机系统都采用了多道程序设计技术。28单道批处理运行效率29二道批处理运行效率30多道批处理下面小结一下操作系统中引入多道程序设计的好处:•一是提高了CPU的利用率;•二是提高了内存和I/O设备的利用率;•三是改进了系统的吞吐率;•四是充分发挥了系统的并行性。要想实现多道程序设计,就必须妥善地解决以下三个问题:•存储保护与程序浮动;•CPU的管理和分配;•系统资源的管理和调度。31分时系统1.2.4分时系统(Time-SharingSystem)•批处理系统使用多道程序技术后,极大地提高了计算机的利用率。但仍然存在以下两个问题:•(1)用户不能直接控制作业的运行。•(2)作业的周转时间太长。在批处理系统中,用户提交作业后通常需要经过几个小时甚至几天才能得到所需要的结果,这样的系统对于仅仅需要几分钟的短作业就十分不利。32分时系统•分时的思想于1959年由MIT正式提出,并在1962年开发出了第一个分时系统CTSS(CompatibleTimeSharingSystem),成功地运行在IBM7094机上,能支持32个交互式用户同时工作。其实现思想如下:每个用户在各自的终端上以问答方式控制程序运行,系统把中央处理器的时间划分成时间片,轮流分配给各个联机终端用户,每个用户只能在极短时间内执行,若时间片用完,而程序还未做完,则挂起并等待下次分得时间片。由于调试程序的用户常常只发出简短的命令,这样以来,每个用户的每次要求都能得到快速响应,每个用户获得这样的印象,好像他独占了这台计算机一样。实质上,分时系统是多道程序的一个变种,CPU被若干个交互式用户多路分用,不同之处在于每个用户都有一台联机终端。33分时系统的特征分时操作系统具有以下特性:•同时性:若干个终端用户同时联机使用计算机,分时就是指多个用户分享使用同一台计算机的CPU时间。•独立性:终端用户彼此独立,互不干扰,每个终端用户感觉上好像他独占了这台计算机。•及时性:终端用户的立即型请求(即不要求大量CPU时间处理的请求)能在足够快的时间之内得到响应(通常应该为2-3秒钟)。这一特性与计算机CPU的处理速度、分时系统中联机终端用户数目和时间片的长短密切相关。•交互性:人机交互,联机工作,用户直接控制其程序的运行,便于程序的调试和排错。34实时系统1.2.5实时系统(Real-TimeSystem)实时操作系统(RealTimeOperatingSystem)是指当外界事件或数据产生时,能够接收并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点35PC操作系统1.3操作系统的进一步发展1.3.1个人PC操作系统•大家对个人计算机(PC)系统并不陌生,基本上都使用过DOS、Windows系统。早期个人计算机多以Intel8080、8088/8086以及Z80等为CPU,之后发展到80286、80386、80486以及PentiumII、III
本文标题:操作系统第1章操作系统概述
链接地址:https://www.777doc.com/doc-3696170 .html