您好,欢迎访问三七文档
第一章操作系统引论操作系统李海霞Tel:13599463810E-mail:ptxylhx@gmail.com第一章操作系统引论致学生操作系统软件肯定是我们所见到的最优秀的、最复杂和最庞大的软件之一,所以,真正领会操作系统课程所介绍的概念、原理、方法和技巧等,是很困难的。另一方面,经验表明,学习尤其是真正体会和掌握一种操作系统的最好方式是对它进行充分的实验,去阅读、修改和增强它的代码。但事实上,由于操作系统软件必须细心构建,它直接控制着所有运行于其上的进程和线程所使用的硬件,因而对操作系统代码进行实验操作可能是十分困难甚至是有一定风险的。在本学期的授课过程中,为大家演示一个研究操作系统内核的学习方法,使大家来体会操作系统内核及其设计技巧。可以在不修改任何代码的情况下,了解操作系统内部状态的各个方面;可以通过编写新的代码来阅读内核的数据结构和了解操作系统运行方式。第一章操作系统引论课程说明•操作系统是计算机系统中最重要的系统软件,操作系统控制和管理整个计算机系统中多种硬件、软件资源,并为用户使用计算机提供一个方便灵活、安全可靠的工作环境。第一章操作系统引论•计算机操作系统不仅是计算机有关专业的必修核心课程之一,也是一般从事计算机应用的人员所必不可缺少的。•本课程的先修课程是《计算机组成与结构》、《汇编语言程序设计》、《数据结构》。第一章操作系统引论教学目的与要求1.了解操作系统与硬件、其它软件和应用者之间所起的作用及其特性;2.掌握进程/线程的基本概念及其动态特性3.掌握操作系统实行处理机管理、存储管理、文件管理、输入/输出管理、用户与操作系统接口的工作原理及其实现;4.进一步提高使用Windows或UNIX操作系统的能力。第一章操作系统引论考核方式:•书面考试(期末)60%•平时考勤+课前提问+课后作业+平时小测验20%•实验20%第一章操作系统引论课程教材•教科书1、计算机操作系统(第三版)汤小丹西安电子科技大学出版社第一章操作系统引论参考书目1、计算机操作系统,徐甲同等,西安电子科技大学出版社2、陈向群,杨芙清编著,操作系统教程(第2版),北京大学出版社,20063、陈向群、向勇、王雷、马洪兵、郑扣根、DaveProbert等,Windows操作系统原理(第2版),机械工业出版社,20044、ModernOperatingSystems(secondedition),AndrewS.Tanenbaum,陈向群等译,机械工业出版社2006第一章操作系统引论5、屠祁、屠立德等编著操作系统基础(第三版)清华大学出版社2000.96、张尧学、史美林编著计算机操作系统教程清华大学出版社2000.37、黄丽娜管佩森陈彩可编著REDHATLinux9.0基础教程清华大学出版社2005.78、其它方面:UNIX、LINUX或WINDOWS内核第一章操作系统引论参考网站•各类精品课:清华大学南京航空航天大学•北京大学网址:os.pku.edu.cn第一章操作系统引论课堂要求•不迟到、不早退、不旷课,旷课达2/3不准参加期末考试•不接打手机第一章操作系统引论各章的教学要求和知识考核点第一章操作系统引论第一章操作系统引论1.1操作系统的目标和作用1.2操作系统的发展过程1.3操作系统的基本特性1.4操作系统的主要功能1.5OS结构设计第一章操作系统引论1.1操作系统的目标和作用1.1.1操作系统的目标1.有效性在早期(20世纪50~60年代),由于计算机系统非常昂贵,操作系统最重要的目标无疑是有效性。事实上,那时有效性是推动操作系统发展最主要的动力。正因如此,现在的大多数操作系统书籍,都着重于介绍如何提高计算机系统的资源利用率和系统的吞吐量问题。操作系统的有效性可包含如下两方面的含意:第一章操作系统引论(1)提高系统资源利用率。在未配置OS的计算机系统中,诸如CPU、I/O设备等各种资源,都会因它们经常处于空闲状态而得不到充分利用;内存及外存中所存放的数据太少或者无序而浪费了大量的存储空间。配置了OS之后,可使CPU和I/O设备由于能保持忙碌状态而得到有效的利用,且可使内存和外存中存放的数据因有序而节省了存储空间。(2)提高系统的吞吐量。操作系统还可以通过合理地组织计算机的工作流程,而进一步改善资源的利用率,加速程序的运行,缩短程序的运行周期,从而提高系统的吞吐量。第一章操作系统引论2.方便性配置OS后可使计算机系统更容易使用。一个未配置OS的计算机系统是极难使用的,因为计算机硬件只能识别0和1这样的机器代码。用户要直接在计算机硬件上运行自己所编写的程序,就必须用机器语言书写程序;用户要想输入数据或打印数据,也都必须自己用机器语言书写相应的输入程序或打印程序。如果我们在计算机硬件上配置了OS,用户便可通过OS所提供的各种命令来使用计算机系统。比如,用编译命令可方便地把用户用高级语言书写的程序翻译成机器代码,大大地方便了用户,从而使计算机变得易学易用。第一章操作系统引论3.可扩充性随着VLSI技术和计算机技术的迅速发展,计算机硬件和体系结构也随之得到迅速发展,相应地,它们也对OS提出了更高的功能和性能要求。此外,多处理机系统、计算机网络,特别是Internet的发展,又对OS提出了一系列更新的要求。因此,OS必须具有很好的可扩充性,方能适应计算机硬件、体系结构以及应用发展的要求。这就是说,现代OS应采用新的OS结构,如微内核结构和客户服务器模式,以便于方便地增加新的功能和模块,并能修改老的功能和模块。关于新的OS结构将在本章最后一节中介绍。第一章操作系统引论4.开放性自20世纪80年代以来,由于计算机网络的迅速发展,特别是Internet的应用的日益普及,使计算机操作系统的应用环境已由单机封闭环境转向开放的网络环境。为使来自不同厂家的计算机和设备能通过网络加以集成化,并能正确、有效地协同工作,实现应用的可移植性和互操作性,要求操作系统必须提供统一的开放环境,进而要求OS具有开放性。开放性是指系统能遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,均能彼此兼容,可方便地实现互连。开放性已成为20世纪90年代以后计算机技术的一个核心问题,也是一个新推出的系统或软件能否被广泛应用的至关重要的因素。第一章操作系统引论1.1.2操作系统的作用1.OS作为用户与计算机硬件系统之间的接口OS作为用户与计算机硬件系统之间接口的含义是:OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。或者说,用户在OS帮助下,能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。应注意,OS是一个系统软件,因而这种接口是软件接口。图1-1是OS作为接口的示意图。由图可看出,用户可通过以下三种方式使用计算机。第一章操作系统引论图1-1OS作为接口的示意图用户应用程序系统调用命令图标、窗口操作系统计算机硬件第一章操作系统引论(1)命令方式。这是指由OS提供了一组联机命令接口,以允许用户通过键盘输入有关命令来取得操作系统的服务,并控制用户程序的运行。(2)系统调用方式。OS提供了一组系统调用,用户可在自己的应用程序中通过相应的系统调用,来实现与操作系统的通信,并取得它的服务。(3)图形、窗口方式。这是当前使用最为方便、最为广泛的接口,它允许用户通过屏幕上的窗口和图标来实现与操作系统的通信,并取得它的服务。第一章操作系统引论2.OS作为计算机系统资源的管理者在一个计算机系统中,通常都含有各种各样的硬件和软件资源。归纳起来可将资源分为四类:处理器、存储器、I/O设备以及信息(数据和程序)。相应地,OS的主要功能也正是针对这四类资源进行有效的管理,即:处理机管理,用于分配和控制处理机;存储器管理,主要负责内存的分配与回收;I/O设备管理,负责I/O设备的分配与操纵;文件管理,负责文件的存取、共享和保护。可见,OS的确是计算机系统资源的管理者。事实上,当今世界上广为流行的一个关于OS作用的观点,正是把OS作为计算机系统的资源管理者。第一章操作系统引论3.OS实现了对计算机资源的抽象对于一个完全无软件的计算机系统(即裸机),它向用户提供的是实际硬件接口(物理接口),用户必须对物理接口的实现细节有充分的了解,并利用机器指令进行编程,因此该物理机器必定是难以使用的。为了方便用户使用I/O设备,人们在裸机上覆盖上一层I/O设备管理软件,如图1-2所示,由它来实现对I/O设备操作的细节,并向上提供一组I/O操作命令,如Read和Write命令,用户可利用它来进行数据输入或输出,而无需关心I/O是如何实现的。此时用户所看到的机器将是一台比裸机功能更强、使用更方便的机器。第一章操作系统引论图1-2I/O软件隐藏了I/O操作实现的细节物理接口硬件用户用户I/O软件物理接口硬件机器指令虚机器I/O操作命令(Read,Write)在裸机上铺设的I/O软件隐藏了对I/O设备操作的具体细节,向上提供了一组抽象的I/O设备。第一章操作系统引论通常把覆盖了上述软件的机器称为扩充机器或虚机器。它向用户(进程)提供了一个对硬件操作的抽象模型,用户可利用抽象模型提供的接口使用计算机,而无需了解物理接口实现的细节,从而使用户更容易地使用计算机硬件资源。由该层软件实现了对计算机硬件操作的第一个层次的抽象。第一章操作系统引论为了方便用户使用文件系统,人们又在第一层软件上再覆盖上一层用于文件的管理软件,同样由它来实现对文件操作的细节,并向上提供一组对文件进行存取操作的命令,用户可利用这组命令进行文件的存取。此时,用户所看到的是一台功能更强、使用更方便的虚机器。该层软件实现了对硬件资源操作的第二个层次的抽象。而当人们又在文件管理软件上再覆盖一层面向用户的窗口软件后,用户便可在窗口环境下方便地使用计算机,形成一台功能更强的虚机器。第一章操作系统引论由此可知,OS是铺设在计算机硬件上的多层系统软件,它们不仅增强了系统的功能,而且还隐藏了对硬件操作的细节,由它们实现了对计算机硬件操作的多个层次的抽象。值得说明的是,对一个硬件在底层进行抽象后,在高层还可再次对该资源进行抽象,成为更高层的抽象模型。随着抽象层次的提高,抽象接口所提供的功能就越来越强,用户使用起来也更加方便。第一章操作系统引论1.1.3推动操作系统发展的主要动力1.不断提高计算机资源的利用率在计算机发展的初期,计算机系统特别昂贵,人们必须千方百计地提高计算机系统中各种资源的利用率,这就是OS最初发展的推动力。由此形成了能自动地对一批作业进行处理的多道批处理系统。在20世纪60和70年代,又分别出现了能有效提高I/O设备和CPU利用率的SPOOLing系统和改善存储器系统利用率的虚拟存储器技术,以及在网络环境下,在服务器上配置了允许所有网络用户访问的文件系统和数据库系统。第一章操作系统引论2.方便用户当资源利用率不高的问题得到基本解决后,用户在上机、调试程序时的不方便性便又成为主要矛盾。于是人们又想方设法改善用户上机、调试程序时的环境,这又成为继续推动OS发展的主要因素。随之便形成了允许进行人机交互的分时系统,或称为多用户系统。在20世纪90年代初出现了受到用户广泛欢迎的图形用户界面,极大地方便了用户使用计算机,使中小学生都能很快地学会上机操作,这无疑会更加推动计算机的迅速普及。第一章操作系统引论3.器件的不断更新换代微电子技术的迅猛发展,推动着计算机器件,特别是微机芯片的不断更新,使得计算机的性能迅速提高,规模急剧扩大,从而推动了OS的功能和性能也迅速增强和提高。例如,当微机芯片由8位发展到16位、32位,进而又发展到64位时,相应的微机OS也就由8位发展到16位和32位,进而又发展到64位,此时相应OS的功能和性能也都有显著的增强和提高。第一章操作系统引论在多处理机快速发展的
本文标题:30操作系统
链接地址:https://www.777doc.com/doc-3283506 .html