《计算机导论教材课件ch.ppt》由会员分享,可在线阅读,更多相关《计算机导论教材课件ch.ppt(146页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计 算 机 导 论第3章 计算机软件系统第三章 计算机软件系统 教学目标 掌握软件的相关概念 了解系统软件和应用软件的基本知识 了解计算机操作系统的基本知识 了解几种常用的操作系统 了解程序设计语言的相关概念 了解软件工程的相关概念程序和程序设计语言l软件的核心内容是程序,而程序是指令的序列。l起初,程序员用计算机能够直接执行的二进制码(机器语言,Machine language)来写程序。工作效率非常低,而且容易出错、不容易查错。l随后的思路:先用英文字母和数字按照一定规则来写程序,再由另一个已经可以执行、具有翻译能力的程序把它翻译成等价的二进制表示,交给计算机执行。l因此,程序实际上是用特
2、定语言表示的指令的序列。l这样的语言叫做程序设计语言(Programming languages)。l汇编语言(Assemble language)l高级语言(High-level programming language)程序和程序设计语言l对程序进行自动翻译:#include void f(int*j);*j=9;void main()printf(myProgramn);i=1;printf(“i=”,i);f(i);printf(“i=“,i);高级语言程序MOV DX,OFFSET FILEMOV AL,0MOV AH,3DHINT 21HJC OPERRMOV HANDLE,AXM
3、OV BX,HANDLEMOV DX,OFFSET BUFMOV CX,512MOV AH,3FHINT 21HJC READERRCMP AX,0JE CLOSEMOV BX,AXMOV BUF BX,$MOV DX,OFFSET BUFMOV AH,9INT 21HJMP READ汇编语言程序1101101011000100010110001100001001011011010001010101111101100101011100101110111101100000010011100101011001110101010111001010100101010101000101100011011
4、0111011100101100011010111001011010110001101010011111010101010100100100101110100011100101011000110010110001100110010101010101000000111100101101111100101100001011111111001011001011101010101010100010101111110010100100101110010机器语言程序编译汇编编译软件l只有程序就可以了吗?通常不是这样,因为:l使用这个程序的人一般不是写程序的人,他们很可能不懂程序,因此需要有使用说明,甚至需
5、要培训教材;l以后要修改这个程序的人可能不是写程序的人,他们需要理解这个程序的设计思想和程序的演变过程;l这个程序可能只是一个大系统的一部分,承担其他任务的人需要知道怎样才能在系统中利用这个程序。l因此,还需要与程序有关的其他信息,这些信息要以人们能够理解的方式加以表现:文档(Documents)。l软件:程序和与之相关的所有文档。等应用软件数据库管理系统系统支撑和服务程序语言处理程序操作系统系统软件软件系统Photoshop AdobeOffice WPSOffice Microsoft 第一节 计算机软件概述系统软件和应用软件的概念 系统软件 系统软件是围绕计算机系统本身开发的软件,它介于
6、硬件和应用软件之间。其主要功能是管理、监控和维护计算机软硬件资源,为应用软件的开发和运行提供环境支持,为用户提供友好的使用计算机的交互界面。主要包括:操作系统、程序设计语言、语言处理程序、数据库管理系统、系统支撑和服务程序等。系统软件和应用软件的概念 应用软件 应用软件是为用户解决各类应用问题开发的程序。应用软件涉及的应用范围广泛,种类繁多。如今,计算机能够渗透到人们生活的方方面面,就是各种应用软件得到大量成果研发的结果。常见应用软件有办公自动化软件、管理信息系统、大型科学计算软件包以及各类游戏软件等。具体的软件有Microsoft Office、WPS Office、PhotoShop、Co
7、rel Draw等。应用软件、系统软件、硬件之间的层次关系计算机硬件系统软件应用软件用户按下 P 键Hi,OS,发生了一个事件:P 键被按下了!Hi,财务系统,键盘输入的是P,看着办吧!Hi,OS,打印我送到你那里的工资报表文件!Hi,激光打印机,把我送给你的数据打印出来!激光打印机开始打印*系统软件管理和控制计算机的要求l计算机有许多部件,需要对它们进行统一管理,包括:l内存和外存;l各个部件之间的通信与协调运行。l还有许多与硬件有关的、公共的事情:l接受输入设备(例如键盘)送来的数据;l把数据存储到外存,或者从外存读取所需要的数据;l把数据送给输出设备(例如显示器、打印机等)。l这些事情:
8、l完全可以用程序来做。因为计算机不仅可以为用户计算,还可以为计算。l不应当由每一个程序都来做,而应当由专门的程序来做。系统软件l这类软件不需要用户的干预,就能处理技术上很复杂的、繁杂的、一般用户处理不了的那些事情。l这类软件包括:l操作系统(Operating system,OS)l程序设计语言(Programing design language)l语言处理程序(Language translators)l数据库管理系统(Data Base Management System,DBMS)l设备驱动程序(Device drivers)l系统支撑和服务程序 计算机系统是由硬件和软件两部分构成的。
9、操作系统属于软件中的系统软件,操作系统是紧挨着硬件的第一层软件,是对硬件功能的首次扩充,其他软件则是建立在操作系统之上的。通过操作系统对硬件功能进行扩充,并在操作系统的统管理和支持下运行各种软件。因此,操作系统在计算机系统中占据着一个非常重要的地位,它不仅是硬件与所有其他软件之间的接口,而且任何数字电子计算机,从微处理器到巨型计算机都必须在其硬件平台上加载相应的操作系统之后,才能构成一个可以协调运转的计算机系统。操作系统的概念 只有在操作系统的指挥控制下,各种计算机资源才能被分配给用户所使用。也只有在操作系统的支撑下,其他系统软件如各类编译系统、程序库、运行支持环境才得以取得运行条件。没有操作
10、系统,任何应用软件都无法运行。可见,操作系统实际上是一个计算机系统中硬、软件资源的总指挥部。操作系统的性能高低,决定了整体计算机的潜在硬件性能能否发挥出来。操作系统本身的安全可靠程度,决定了整个计算机系统的安全性和可靠性。操作系统正是软件技术含量最大、附加值最高的部分,是软件技术的核心,是软件的基础运行平台。操作系统的概念 据此,我们可给出操作系统的一个定义:操作系统是计算机系统中的一个系统软件,是能有效地组织和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行的一组程序
11、模块的集合。操作系统的概念 其中,“有效”主要指操作系统在管理资源方面要考虑到系统运行效率和资源的利用率,要尽可能的提高处理器的利用率,让它尽可能少的空转,其他的资源例如内存、硬盘则应该在保证访问效能的前提下尽可能的减少浪费的空间等。“合理”主要是指操作系统对于不同的用户程序要“公平”,以保证系统不发生“死锁”和“饥饿”的现象。“方便”主要是指人机界面方面,包括用户使用界面和程序设计接口两方面的易用性、易学性和易维护性。操作系统的概念操作系统的功能 存储器管理 处理器管理(进程管理)文件管理 设备管理 作业管理 处理器管理的主要任务是对处理器进行分配,并对其运行进行有效的控制和管理。在多道程序
12、环境下,处理机的分配和运行都是以进程为基本单位,因而对处理机的管理可归结为对进程的管理。它包括以下几方面:进程控制 在多道程序环境下,要使作业运行,必须先为它创建一个或几个进程,并为之分配必要的资源。进程运行结束时,要立即撤销该进程,以便及时回收该进程所占用的各类资源。进程控制的主要任务便是为作业创建进程,撤销已结束的进程,以及控制进程在运行过程中的状态转换。一、处理机管理功能 进程同步 进程是以异步方式运行的,并以人们不可预知的速度向前推进。为使多个进程能有条不紊地运行,系统中必须设置进程同步机制。进程同步的主要任务是对诸进程的运行进行协调。有两种协调方式:进程互斥方式。指诸进程在对临界资源
13、进行访问时,应该用互斥方式。进程同步方式。指在相互合作完成共同任务的进程间,由同步机构对它们的执行次序加以协调。为了实现进程同步与互斥,系统中必须设置进程同步机制。最简单的用于实现进程互斥的机制是为每一种临界资源配置一把锁。当锁打开时,进程可以对临界资源进行访问;而关上时,则禁止进程访问该临界资源。进程通信 在多道程序环境下,可由系统为一个应用程序建立多个进程。这些进程相互合作去完成一共同任务,而在这些相互合作的进程之间,往往需要交换信息。例如,有三个相互合作的进程,它们是输入进程、计算进程和打印进程。输入进程负责将所输入的数据传送给计算进程;计算进程利用输入数据进行计算,并把计算结果传送给打
14、印进程,由打印进程把结果打印出来。进程通信的任务就是用来实现相互合作进程之间的信息交换。当相互合作的进程处于同一计算机系统时,通常是采用直接通信方式。即由源进程利用发送命令直接将消息挂到目标进程的消息队列上,以后由目标进程利用接收命令从其消息队列中取出消息。当相互合作的进程处于不同的系统中时,常采用间接通讯方式,即由源进程利用发送命令将消息送入一个存放消息的中间实体中,以后由目标进程利用接收命令从中间实体中取走消息。该中间实体通常称为邮箱,相应的通信系统称为电子邮件系统。调度 等待在后备队列上的每个作业,通常要经过调度(包括作业调度和进程调度两步),才能执行。作业调度的基本任务是从后备队列中按
15、照一定的算法,选择若干个作业,为它们分配必要的资源(首先是分配内存)。在将它们调入内存后,便为它们建立进程,使之成为可能获得处理机的就绪进程;并将它们按一定算法插入就绪队列。而进程调度的任务则是从进程的就绪队列中,按照一定的算法选出一新进程,把处理机分配给它,并为它设置运行现场,使进程投入运行。在进行作业调度和进程调度时,都必须遵循某种调度算法。存储器管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率,以及能从逻辑上来扩充内存。为此,存储器管理应具有以下功能:内存分配、内存保护、地址映射和内存扩充等。内存分配 内存分配的主要任务是为每道程序分配内存空间,使它
16、们“各得其所”,提高存储器的利用率,以减少不可用的内存空间,允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。二、存储器管理功能 操作系统在实现内存分配时,可采取以下两种方式:静态分配方式。每个作业的内存空间是在作业装入时确定的;在作业装入后的整个运行期间,不允许再申请新的内存空间,也不允许作业在内存中“移动”。动态分配。每个作业所要求的基本内存空间也是在装入时确定的;但允许作业在运行过程中继续申请新的附加空间,以适应程序和数据的动态增长,也允许作业在内存中“移动”。为了实现内存分配,在内存分配的机制中应具有以下结构和功能 内存分配数据结构。该结构用于记录内存空间的使用情况
17、,作为内存分配的依据。内存分配功能。系统按照一定的内存分配算法为用户程序分配内存空间。内存回收功能。系统对于用户不再需要的内存,通过用户的释放请求,去完成系统的回收功能。内存保护 内存保护的主要任务是确保每道用户程序都在自己的内存空间中运行,互不干扰。进一步说,绝不允许用户程序访问操作系统的程序和数据;也不允许转移到非共享的其他用户程序中去执行。为了确保每道程序只在自己的内存区内运行,必须设置内存保护机制。一种比较简单的内存保护机制是设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。系统需对每条指令所访问的地址进行越界检查,如果发生越界,便发出越界中断请求,以停止该程序的执行。如果这种
18、检查完全用软件实现,则每执行一条指令,便需要增加若干条指令去进行越界检查,这将显著地降低程序的执行速度。因此,越界检查都由硬件实现,当然,对发生越界后的处理,还须与软件配合来完成。地址映射 一个应用程序(源程序)经编译后,通常会形成若干个目标程序;这些目标程序再经过链接而形成可装入程序。这些程序的地址都是从“0”开始的,程序中的其他地址都是相对于起始地址计算的;由这些地址所形成的地址范围称为“地址空间”,其中的地址称为“逻辑地址”或“相对地址”。此外,由内存中的一系列单元所限定的地址范围称为“内存空间”,其中的地址称为“物理地址”。在多道程序环境下,地址空间中的逻辑地址和内存空间中的物理地址是
19、不可能一致的,因此,存储器管理必须提供地址映射功能,将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能同样应在硬件的支持下完成。内存扩充 由于物理内存的容量有限(它是非常宝贵的硬件资源,不可能做得太大),因而难以满足用户的需要,势必影响到系统的性能。在存储器管理中的内存扩充任务,并非是去增加物理内存的容量,而是借助于虚拟存储技术,从逻辑上去扩充内存容量,使用户所感觉到的内存比物理内存大得多;或者是让更多的用户程序能并发运行。这样,即满足了用户的需要、改善了系统性能,又基本上不增加硬件投资。为了从逻辑上扩充内存,系统必须具有内存扩充机制,用于实现下述各功能:请求调入功能。允许在仅装
20、入一部分用户程序和数据的情况下,启动该程序运行。在运行过程中当发现继续运行时所需的程序和数据尚未装入内存时,可向操作系统发出请求,由操作系统将所需部分调入内存,以便继续运行。置换功能。若内存中已无足够的空间来装入需要调入的部分时,系统应能将内存中的一部分暂时不用的程序和数据调至磁盘上,以便腾出内存空间,然后再将需部分调入内存。设备管理的主要任务是完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;以及方便用户使用I/O设备。为实现上述任务,设备管理应具有缓冲管理、设备分配和设备处理以及虚拟设备等功能。三、设备管理功能 缓冲管理 缓冲管理的基本任务是管
21、理好各种类型的缓冲区,如字符缓冲区和字符块缓冲区,以缓和CPU和I/O速度不匹配的矛盾,最终达到提高CPU和I/O设备利用率,进而提高系统吞吐量的目的。在不少系统中,还通过增加缓冲区容量的办法来改善文件系统的性能。对于不同的系统,可以采用不同类型的缓冲区机制。最常见的缓冲区机制有单缓冲机制、能实现双向同时传送数据的双缓冲机制、以及能供多个设备同时使用的公用缓冲池机制。设备分配 设备分配的基本任务是根据用户的I/O请求,为之分配其所需的设备。如果在I/O设备和CPU之间还存在着设备控制器和I/O通道时,还须为分配出去的设备分配相应的控制器和通道。为了实现设备分配,系统中应配置设备控制表、控制器控
22、制表等数据结构,用于记录设备及控制器的标识符和状态。它们可用以说明该设备是否可用、是否忙碌,以供设备分配时参考。在进行设备分配时,应针对不同的设备而采用不同的设备分配方式。对于独占设备(临界资源)的分配,还应考虑到该设备被分配出去后,系统是否安全。设备用完后还应立即加以回收。设备处理 设备处理程序又称为设备驱动程序。其基本任务通常是实现CPU和设备控制器之间的通信。即由CPU向设备控制器发出I/O指令,要求它完成指定的I/O操作;并能接收由设备控制器发来的中断请求,给予及时的响应和相应的处理。处理过程是:设备处理程序首先检查I/O请求的合法性、了解设备的状态是否空闲、了解有关传递参数以及设置设
23、备的工作方式。然后,便向设备控制器发出I/O命令,启动I/O设备去完成指定的I/O操作。最后是及时响应由控制器发来的中断请求,并根据该中断请求的类型调用相应的中断处理程序进行处理。对于设置了通道的计算机系统,设备处理程序还应能根据用户的I/O请求,自动地构成通道程序。设备独立性和虚拟设备 设备独立性。设备独立性的基本含义是指应用程序独立于物理设备,以使用户编制的程序与实际使用的物理设备无关。这种独立性不仅能提高用户程序的可适应性,使程序不局限于某具体的物理设备,而且易于实现输入、输出的重定向。即在I/O操作中所使用的设备可方便地重新指定,而无须改变原有程序。虚拟设备功能。这一功能可把每次仅允许
24、一个进程使用的物理设备,改造为能同时供多个进程共享的设备。或者说,它能把一个物理设备变换为多个对应的逻辑设备,以使一个物理设备能供多个用户共享。这样,不仅提高了设备的利用率,而且还加速了程序的运行,使每个用户都感觉到自己在独占该设备。四、文件管理功能 在现代计算机系统中,总是把程序和数据以文件的形式存储在磁盘和磁带上,供所有的或指定的用户使用。为此,在操作系统中必须配置文件管理机构。文件管理的主要任务,是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。为此,文件管理应具有对文件存储空间的管理,目录管理,文件的读、写管理以及文件的共享与保护等功能。文件存储空间的管理 为了方便用
25、户的使用,对于一些当前需要使用的系统文件和用户文件,都必须存放在可随机存取的磁盘上。在多用户环境下,若由用户自己对文件的存储进行管理,不仅非常困难,而且也必然是十分低效的。因而,需要由文件系统对诸多文件及文件的存储空间,实施统一的管理。其主要任务是为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的工作速度 为了实现对文件存储空间的管理,系统应设置相应的数据结构,用于记录文件存储空间的使用情况,以供分配存储空间时参考;系统还应具有对存储空间进行分配和回收的功能。为了提高存储空间的利用率,对存储空间的分配通常是采用离散分配方式,以减少外存零头,并以盘块为基本分配单位。盘块的大
26、小通常为512字节至4K字节。目录管理 为了使用户能方便地在外存上找到他所需要的文件,通常由系统为每个文件建立一个目录项。目录项包含文件名、文件属性、文件在磁盘上的物理位置等。由若干个目录项又可构成一个目录文件。目录管理的主要任务是为每个文件建立其目录项,并对众多的目录项加以有效的组织,以实现方便的按名存取。也就是说,用户只须提供文件名,即可对该文件进行存取。其次,目录管理还应能实现文件共享,这样,只需在外存上保留一份该共享文件的副本。此外,还应能提供快速的目录查询手段,以提高文件的检索速度。文件的读、写管理和存取控制 文件的读、写管理。读、写管理是最基本的功能。这是根据用户的请求,从外存中读
27、取数据;或将数据写入外存。在进行文件读(写)时,系统先根据用户给出的文件名,去检索文件目录,从中获得文件在外存中的位置。然后,利用文件读(写)指针,对文件进行读(写)。一旦读(写)完成,便修改读(写)指针,为下一次读(写)做好准备。由于读和写操作不会同时进行,故可以和用一个读/写指针。文件的存取控制 为了防止系统中的文件被非法窃取和破坏,在文件系统中必须提供有效的存取控制功能,以实现下述目标:防止未经核准的用户存取文件;防止冒名顶替存取文件;防止以不正确的方式使用文件。在一个完善的文件系统中,可以采取多级保护设施来达到这一目标。第一是进行系统级存取控制,通常是以使用口令并对口令进行加密的方法来
28、防止非法用户进入系统,从而不可能进行文件访问。第二是用户级存取控制,这常常是通过对用户进行分类和为用户分配适当的“文件存取权限”等方法来实现。第三是文件级存取控制,这是通过设置文件属性(如只读、只执行、读/写等属性)来控制对文件的存取。操作系统的功能五、作业管理 作业:用户在一次事务处理过程中要求计算机所做工作的总和。作业管理:主要是对作业进行合理的调度与控制。操作系统的分类 从功能角度来分 批处理OS 分时OS 实时OS 网络OS 分布式OS 操作系统的分类 v 1、多道批处理操作系统v 所谓多道程序设计是指在主存储器中存放多道用户的作业,使其按照一定的策略插空在CPU上运行,共享CPU和输
29、入输出设备等系统资源。多道批处理操作系统负责把用户作业成批地接收进外存储器,形成作业队列,然后按一定的策略将作业队列中的用户作业调入主存储器,并使得这些作业按其优先级轮流占用CPU和外部设备等系统资源。因此,在宏观上看,计算机中有多个作业在运行,但在微观上看,对于单CPU的计算机而言,在某一个瞬间实际上只有一道作业在CPU上运行。操作系统的分类 2、分时操作系统 所谓分时是指多个用户终端共享使用一台计算机,即把计算机系统的CPU时间分割成一个个小的时间段(称其为一个时间片),从而将CPU的工作时间分别提供给各个用户终端。分时操作系统设计的主要目标是提高对用户响应的及时性。它一般适用于带有多个终
30、端的小型机。操作系统的分类 v 3、实时操作系统v 在把计算机应用于过程控制系统时,通常要求计算机能够对外部事件作出及时的响应并对其进行处理,这样的系统称为实时系统。实时操作系统强调对外部事件响应的及时性和快捷性及系统的可靠性。操作系统的分类 4、网络操作系统 计算机网络是将物理位置各异的计算机通过通信线路连接起来以实现共享资源的计算机集合。由于在网络上的计算机的硬件特性、数据表示格式等的不同,为了在互相通信时彼此能够理解,必须共同遵循某些约定,这些约定称为协议。因此,网络操作系统实际上是使网络上的计算机能够方便而有效地共享网络资源,为网络用户提供各种服务队尾软件和有关协议的集合。v 网络操作
31、系统除了应具有通常操作系统所具有的处理机管理、存储器管理、设备管理和文件管理功能之外,还应该能够提供高效、可靠的网络通信以及多种网络服务功能。其中网络通信将按照网络协议来进行;而网络服务包括文件传输、远程登录、电子邮件、信息检索等,使网络用户能够方便地利用网络上的各种资源。5、分布式操作系统 在以往的计算机系统中,其处理和控制功能都高度地集中在一台主机上,所有的任务都有主机处理,这样的系统成为集中式处理系统 在分布式处理系统中,系统的处理和控制功能都分散在系统的各个处理单元上。系统中的所有任务也可动态地被分配到各个处理单元上去,使它们并行执行,实现分布处理。可见,分布式处理系统最基本的特征是处
32、理上的分布。而处理分布的实质是资源、功能、任务和控制都是分布的。所谓分布式处理系统,是指由多个分散的处理单元经互连网络的连接而形成的系统。其中,每个处理单元既具有高度的自治性,又相互协同,能在系统范围内实现资源管理、动态地分配任务,并能并行地运行分布式程序。在分布式系统中,如果每个处理单元都是计算机,则可称为分布式计算机系统。它通常是计算机网络,也是目前最常见的分布式系统;如果处理单元只是处理器和局部存储器,则只能称作分布式(处理)系统。在分布式系统上配置的操作系统,称为分布式操作系统,它虽与网络操作系统有许多相似之处,但两者都各有其特点。操作系统的特征 前面所介绍的三种基本操作系统,虽然它们
33、各有自己的特征,如批处理系统具有成批处理的特征,分时系统具有交互特征,实时系统具有实时特征,但它们也都具有以下四个基本特征:1.并发 并行性和并发性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同时间间隔内发生。在多道程序环境下,并发性是指宏观上在段时间内有多道程序在同时运行。但在单处理机系统中每一时刻仅能执行一道程序,故微观上,这些程序是在交替执行的。2共享 所谓共享是指,系统中的资源可供内存中多个并发执行的进程共同使用。由于资源的属性不同,放多个进程对资源的共享方式也不同,可分为以下两种资源共享方式:(1)互斥共享方式 系统中的某些资源如打
34、印机、磁带机,虽然它们可以提供给多个进程使用,但在一段时间内却只允许一个进程访问该资源。当一个进程正在访问该资源时,其它欲访问该资源的进程必须等待,仅当该进程访问完并释放该资源后,才允许另一进程对该资源进行访问。我们把在一段时间内只允许个进程访问的资源称为临界资源。许多物理设备以及某些变量、表格都属于临界资源,它们要求互斥地被共享。(2)同时访问方式 系统中还有另一类资源,允许在一段时间内由多个进程同时对它进行访问。这里所谓的“同时”往往是宏观上的。而在微观上,这些进程可能是交替地对该资源进行访问。典型的可供多个进程同时访问的资源是磁盘;一些用重入码编写的文件,也可同时共享。并发和共享是操作系
35、统的两个最基本的特征,它们又是互为存在条件。一方面,资源共享是以程序(进程)的并发执行为条件的;若系统不允许程序并发执行,自然不存在资源共享问题。另一方面,若系统不能对资源共享实施有效管理,则也必将影响到程序的并发执行,甚至根本无法并发执行。3虚拟 在操作系统中的所谓“虚拟”,是指通过某种技术把一个物理实体变成若干个逻辑上的对应物。物理实体(前者)是实的,即实际存在的而后者是虚的,是用户感觉上的东西。例如,在多道分时系统中,虽然只有个CPU,但每个终端用户却都认为是有一个CPU在专门为他服务,亦即,利用多道程序技术可以把一台物理上的CPU虚拟为多台逻辑上的CPU,也称为虚处理机。类似地,也可以
36、把台物理IO设备虚拟为多台逻辑上的IO设备。此外,也可以把一条物理信道虚拟为多条逻辑信道(虚信道)。在操作系统中虚拟的实现,主要是通道分时使用的方法。显然,如果 n是某一物理设备所对应的虚拟的逻辑设备数则虚拟设备的速度必然是物理设备速度的1n.4.异步性 在多道程序环境下,允许多个进程并发执行,但由于资源等因素的限制通常,进程的执行并非“一气呵成”,而是以“走走停停”的方式运行。内存中的每个进程在何时执行,何时暂停,以怎样的速度向前推进,每道程序总共需多少时间才能完成,都是不可预知的。很可能是先进入内存的作业后完成;而后进人内存的作业先完成。或者说,进程是以异步方式运行的。尽管如此,但只要运行
37、环境相同,作业经多次运行,都会获得完全相同的结果,因此,异步运行方式是允许的。此即进程的异步性,是操作系统的一个重要特征。操作系统操作系统的其它分类方法:q从用途的角度:通用OS,专用OSq从单机和网络角度分析:单机OS,网络OSq按管理用户的数量分:单用户操作系统、多用户操作系统q按同时管理作业的数量分:单任务操作系统、多任务操作系统典型操作系统介绍 Microsoft Windows Unix Linux Mac OSMicrosoft Windowsl目前最流行的微机操作系统。l要求 CPU 是 Intel 微处理器。l具有简单、易学、易用的图形用户界面(Graphical User I
38、nterface,GUI)。微软Windows操作系统产品线图4-6 微软Windows操作系统产品线1985年Windows XP1993年1994年1995年1996年2000年1998年个人操作系统Windows 1.0Windows 2.0Windows 3.0Windows 3.xWindows 95Windows 98Windows Me商用操作系统Windows NT3.1第1版Windows NT 3.5第2版Windows NT 3.51第3版Windows NT 4.0第4版Windows 2000(NT 5.0)Windows CE 4.01995年1998年2000年2
39、001年1987年1990年Windows操作系统主要技术特点(1)真正的多用户多任务操作系统(2)支持对称多处理和多线程(3)32位页式虚拟存储管理(4)支持多种可装卸文件系统(5)提供“即插即用”功能(6)新的图形化界面,较强的多媒体支持功能(7)集成网络功能,支持联网和网络通信(8)具有更高的安全级和容错功能Unixl原本主要是在大型机、小型机和工作站上运行,现可在各种 CPU、各种档次的计算机上运行。l运行稳定、可靠。l较强的安全性控制。l目前的大型网络服务器主要采用的操作系统。l标准化程度很高。l GUI 和命令行界面。Unix操作系统是20世纪60年代末由美国的电话电报公司(AT&
40、T)和贝尔(Bell)实验室的计算机科学家K.Thompson和D.M.Ritchie等研制的。由于上述两位学者对Unix操作系统的卓越贡献,获得了1983年的图灵奖。Unix的特点 Unix主要特点是:Unix是一个多用户操作系统,适合于将终端或工作站连接到小型机或主机的场合使用。功能可由许多小的功能模块连接组装而成。提供了功能完备、使用灵活、可编程的命令语言(Shell语言),用户可以使用该语言与计算机进行交互以及方便地进行程序设计。具有分层的、可装卸的文件系统,并提供了完整的文件保护功能。采用了输入输出缓冲技术,主存储器和磁盘的分配与释放可以高效地、自动地进行。提供了文本编辑程序、She
41、ll语言解释程序、汇编程序、十几种程序设计语言的编译程序、连接装配程序、调试程序、用户间通信程序以及系统管理与维护程序等。Unix的代码大部分是用C语言书写,因而有很好的可移植性。Unix系统有一系列网络通信工具和协议,TCP/IP协议就是在Unix上开发成功。Unix的组成 Unix操作系统包含了4个最基本的成分:内核、文件系统、Shell和公用程序,其框架结构如图4-7所示。用户 Shell 语言解释程序 系统调用命令 程序设计语言 编译程序各种应用程序包 子系统用户层内核层 进程 管理 存储 管理 设备 管理 I/O 中断管理 文件 管理 汇编程序 计算机硬件(裸机)UNIX 系统的框架
42、结构 Unix的组成 内核是Unix操作系统的核心,它的作用是调度和管理计算机系统的各种资源。文件系统在Unix操作系统中主要用来组织并管理数据资源。Shell是一种命令解释程序,它用来读入用户输入的命令并调用相应的程序来执行用户提出的命令。公用程序是Unix系统提供给用户的常用标准软件,包括编辑工具、网络管理工具、开发工具及保密与安全工具等。Linux Linux 是一种可以运行在微机上的免费的 Unix 操作系统。它由芬兰赫尔辛基大学的学生Linus Torvalds 在1991年开发,今天Linux已发展成为功能很强的操作系统。Linux的开发及其源代码对每个人都是完全免费的。但是这并不
43、意味着Linux和它的一些周边软件发行版本也是免费的。Linux有着广泛的用途,包括网络应用、软件开发、建立用户平台等等,Linux被认为是一种高性能、低开支的可以替换其他昂贵操作系统的软件系统。现在主要流行的版本有:Red Hat Linux、Turbo Linux及我国自己开发的红旗Linux、蓝点Linux等。Linuxl免费使用和自由传播的类Unix操作系统l继承了Unix以网络为核心的设计思想,稳定、可靠、安全。l有很多发行版本,较流行的有:lRedHat LinuxlDebian LinuxlRedFlag Linux,第一个国产的操作系统版本 Linux的特点 1.与Unix兼容
44、的32位操作系统,它能运行主要的Unix工具软件、应用程序和网络协议2.支持32位和64位的硬件3.设计继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统4.支持多任务、多进程和多CPU5.模块化设计结构,使它有优于其他操作系统的扩充性6.用户不仅可以免费获得Linux的源代码,还可以修改,以实现特定的功能,使任何人都可以参与Linux的开发7.是一个提供完整网络集成的操作系统,它可以轻松地与TCP/IP、LAN Manager、Windows for Workgroups、Novell NetWare或Windows NT集成在一起 Linux的用途 主要的应用有以下几
45、个方面:1.被广泛应用于Internetintranet中,提供Web服务2.Linux下的服务器不但可以轻松地向用户提供文件及打印服务,还可以通过磁盘定额做到限制某些不合理使用3.提供了对数据库系统的全力支持,目前可以在Linux运行的大型数据库系统有:Sybase ASE、Informix Dynamic Server、Oracle 和IBM DB2 等4.将Linux系统用作路由器,这类系统通常情况下只安装简单的网络服务功能软件包。对于安全性要求较高的网络,还可以在Linux上用IP Chain作防火墙来使用,以杜绝外部入侵者的破坏5.Linux还可以用作代理服务器6.提供了文字处理软件
46、、绘图软件、动画软件和看图软件,它还提供了窗口系统 Mac OS Apple公司为它的计算机设计的操作系统大多称为Mac OS,Mac OS是最早利用图形用户界面的操作系统,它具有很强的图形处理能力,被广泛地用在桌面出版和多媒体应用等领域。由于Mac OS在中国不普及,加上它以往的Mac OS又和Microsoft的Windows操作系统缺乏兼容性,因而它的使用也就受到了限制。最近Apple公司推出了新一代操作系统Mac OS X。Mac OS X 的核心系统被称为Darwin(意为“达尔文”),它采用了由卡耐基梅隆大学所开发的Mach微内核,所以也可以将 Mac OS X 看作为一种符合 P
47、OSIX(Portable Operating System Interface,可移植操作系统接口)标准的 Unix 变种。由于Darwin本身是开放源代码的,Mac OS X受到各Open Source 社团的强烈关注和广泛支持。Apple MacOSl在 Apple公司的Macintosh 计算机上运行。l Apple公司拥有最先进的GUI技术l要求 CPU 是 PowerPC 微处理器。l Apple 公司拥有最先进的 GUI 技术。l在影视、广告等行业被广泛使用。Mac OS X的特点 1、系统稳定和良好的性能v Darwin集成了多项技术,包括Mach 3.0 内核、基于BSD U
48、nix(Berkeley Software Distribution)的操作系统服务、高性能的网络工具,以及对多种集成的文件系统的支持。v Darwin的内存保护和管理系统,为每个程序或进程分配单独的地址空间,利用这种坚固的结构保护程序,来确保系统的可靠性。v Darwin可以同时管理不同的应用程序环境,给用户一种无缝整合的体验。v 它的文件系统组件使用一种层结构,其系统是可堆叠的。v Darwin依靠其内核实现抢先与协同多任务,支持多线程的增强对称多重处理(SMP)功能。v 设备驱动程序可以轻松地实现真正的即插即用、动态设备管理(“热插拔”)和电源管理。2、图形功能 v Mac OS X集合
49、了三个应用广泛的图形技术:Quartz、OpenGL和QuickTime。Mac OS X的特点v Quartz由一个高性能的,简洁的窗口服务器和一个用于二维(2D)形状的图形渲染库组成。窗口服务器具有许多先进的性能,如与设备无关的色彩和象素深度、远程显示、分层合成,以及用于自动窗口修复的缓冲窗口。Quartz还为开发商提供了利用浮点协作系统和高精度的矢量处理功能实现图形和文字的即时抗锯齿、直接访问视频帧缓冲、高质量的屏幕渲染等功能。v 对于三维(3D)图形,Mac OS X配备了工业标准OpenGL的一个优化版本,可以创造极为逼真的视觉效果。OpenGL是应用最广泛的图形标准之一,它非常适用
50、于游戏、动画、CAD/CAM,医学图像和其他一些需要丰富视觉效果的应用程序。v QuickTime是一种超强的多媒体技术,用于操作、增强和存储视频、声音、动画、图形、文字、音乐,甚至360虚拟现实。它还能够支持实时的或已存储好的数字视频的流式传播(streaming)。为了增强其跨平台的功能,QuickTime支持所有主要的图像文件格式,包括BMP,GIF,JPEG,TIFF和PNG。它也支持各种重要的专业视频文件格式,包括AVI,AVR,DV,JPEG,MPEG和 OpenDML等。Mac OS X的特点3、用户界面 v Mac OS X最为形象的诠释是它新的用户界面Aqua。Aqua结合了