第1章 操作系统概论

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1章操作系统概论第1章操作系统概论1.1操作系统的概念1.2操作系统的形成和发展1.3操作系统的分类1.4操作系统的性能评价及其特征1.5几种流行的操作系统1.6综合应用第1章操作系统概论1.1操作系统的概念1.1.1操作系统的定义我们知道,在命令行方式下,当用户在键盘上输入一个命令,按完Enter键之后,屏幕上就会显示出该命令执行的结果。第1章操作系统概论你可能会联想到这样的问题:用户输入的命令是怎样解释执行的?谁负责分配CPU和内存空间?用户的文件是如何在磁盘上存放和管理的?谁控制和管理终端、打印机等设备?等等。其实,这些工作都是由称作操作系统的软件来完成的。人们常说的DOS、Windows98、WindowsXP、WindowsNT、UNIX以及Linux等,都是已得到广泛使用的操作系统。第1章操作系统概论虽然操作系统已存在很多年,但至今仍没有一个统一的定义。通常情况下,我们可以这样来定义它:操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。怎样理解操作系统的定义呢?我们要注意以下几点:第一,操作系统是软件,而且是系统软件,就是说,它由一整套程序组成。例如,UNIX系统就是一个很大的程序,它由上千个模块组成,有的模块负责内存分配,有的模块实现CPU管理,还有的进行读文件工作,等等;程序中还使用了大量的表格、队列等数据结构。第1章操作系统概论第二,操作系统的基本职能是控制和管理系统内各种资源(包括硬件资源和软件资源),有效地组织多道程序的运行。想象一下,你编写的程序在计算机上执行的大致过程:程序以文件形式存放在磁盘上,运行之前计算机把它调入内存,然后在CPU上运行,产生的结果在屏幕上显示出来。这些工作都由操作系统完成。第三,操作系统提供众多服务,方便用户使用,并可扩充硬件功能。例如,用户可以使用操作系统提供的上百条命令或者图形界面完成对文件、输入/输出、程序运行等许多方面的控制、管理工作,可以在一台机器上完成多项任务,甚至可以多个人同时使用一台机器。第1章操作系统概论1.1.2操作系统的主要功能现代计算机系统中如果没有操作系统,简直是不可想象的事情!有了操作系统这个最基本的系统软件,就能把计算机系统中的各种资源(包括硬件资源和软件资源,如CPU、存储器、文件、信息等)管理得井井有条。普通用户只需集中精力解决自己所要处理的问题,而不必考虑系统内部各项功能实现的细节,这样才会使计算机成为用户的得力助手,使用户在使用计算机时感到轻松、愉快。我们现在所使用的计算机界面越来越友好,有窗口、菜单、图标等,操作越来越简单、直观,这些都是操作系统为用户提供的方便。第1章操作系统概论那么,当多个用户把自己的程序输入到计算机内予以执行时,我们是否考虑过如下的问题呢?首先,每个用户的程序都要装入内存,而系统中只有一个内存,该如何分配内存空间呢?内存中的各个程序彼此不能冲突,怎么实现保护呢?……这是存储器管理问题。通常系统中只有一个CPU,每个程序都要使用CPU,让哪个程序先运行、什么时候开始运行、运行多长时间呢?程序在活动过程中如何与其他活动实体联系呢?……这是处理器管理问题。第1章操作系统概论我们从键盘上输入数据或命令,运行结果在屏幕上显示出来或者在打印机上打印出来,系统是怎样控制它们工作的?不同的用户都要用打印机,可打印机只有一台,分给谁用呢?……这是设备管理问题。我们新建的文件放在磁盘的什么地方?用文件名怎么就能找到它?为什么对有些文件我们无法读或写呢?这么多文件如何组织在一起呢?……这是文件管理的问题。以上这些繁杂、琐碎而又必须缜密解决的问题全是由操作系统完成的。下面我们具体介绍操作系统的功能。第1章操作系统概论1.存储管理功能存储管理的主要功能包括:内存分配、地址映射、内存保护和内存扩充。1)内存分配内存分配的主要任务是为每道程序分配一定的内存空间。为此,操作系统必须记录整个内存的使用情况,处理用户提出的申请,按照某种策略实施分配,接收系统或用户释放的内存空间。第1章操作系统概论由于内存是宝贵的系统资源,并且往往出现这种情况:用户程序和数据对内存的需求量总和大于实际内存可提供的使用空间。为此,在制定分配策略时应考虑到提高内存的利用率,减少内存浪费。第1章操作系统概论2)地址映射用户在编写程序时不可能知道程序运行过程中程序和数据存放在内存中的具体位置,各程序的起始地址都是从“0”地址开始编址的(但它并不是实际内存的物理地址),各程序中用到的其他地址都分别相对起始地址计算。这样一来,在多道程序环境下,用户程序中所涉及的相对地址与装入内存后实际占用的物理地址就不一样。CPU执行用户程序时,要从内存中取出指令或数据,为此就必须把所用的相对地址(这种地址称为逻辑地址)转换成内存的实际地址(这种地址称为物理地址)。这就是操作系统的地址映射功能(一般需要有硬件支持)。第1章操作系统概论3)内存保护多道程序并存于内存中,为了保证不同用户的程序在各自的内存空间中活动,不相互干扰、互相侵犯,就必须建立内存保护机制,以保证每个用户的程序和操作系统的程序都能正确、顺利的运行。例如,设置两个界限寄存器,分别存放正在执行的程序在内存中的上界地址值和下界地址值。当程序运行时,做地址的合法性检查,所访问内存的地址必须大于或等于下界寄存器的值,并且小于上界寄存器的值。如果地址不在此范围内,则属于地址越界,将发生中断并进行相应处理。第1章操作系统概论4)内存扩充计算机系统中的内存容量是有限的,不能随意扩充其大小。然而,用户程序对内存的需求越来越大,内存容量很难完全满足用户的要求,这样就出现用户对内存“求大于供”的局面。内存扩充就是研究如何利用现有的物理内存来运行一个较大的用户程序。目前,计算机系统中的虚拟存储技术就是内存扩充的一种常用方法。第1章操作系统概论2.处理机(CPU)管理功能CPU是计算机系统中最重要的资源,对它管理的优劣将直接影响整个计算机系统的性能。因此,如何实现处理机的分配以及对处理机的运行实行有效的控制和管理就显得尤为重要。为了对处理机进行有效的管理,我们可从作业和进程调度、进程控制和进程通信等方面来阐述处理机管理的功能(作业和进程的概念见后续章节)。第1章操作系统概论1)作业和进程调度一个作业通常要经过两级调度才得以在CPU上执行。首先,通过作业调度把选中的一批作业放入内存,并分配必要的资源,为这些作业建立相应的进程。其次,进程调度按一定算法从就绪进程中选出一个合适进程,使之在CPU上运行。第1章操作系统概论2)进程控制进程是系统中活动的实体。当用户的作业要运行时,应为之建立一个或者多个进程,并为它分配除处理机以外的其他所有资源,将它们放入进程的就绪队列。当进程运行完成时,立即撤消该进程,以便释放其占有的所有资源。所以,进程控制的基本功能是:创建进程、撤消进程、阻塞进程及唤醒进程等。第1章操作系统概论3)进程通信多个进程在活动过程中彼此间会发生相互依赖或者相互制约的关系,因此在它们运行时,相互之间往往要交换一定的信息。我们把这种进程间所进行的信息交换称为进程通信。为了实现进程间的相互通信,操作系统要提供相应的控制进程通信的机制。第1章操作系统概论3.设备管理功能设备管理的主要功能包括:缓冲区管理、设备分配、设备驱动和设备无关性。1)缓冲区管理缓冲区管理的目的是解决CPU和外设速度不匹配的矛盾,从而使它们能充分并行工作,提高各自的利用率。2)设备分配根据用户的I/O请求和相应的分配策略,为该用户分配外部设备以及通道、控制器等。第1章操作系统概论3)设备驱动实现CPU与通道和外设之间的通信。由CPU向通道发出I/O指令,后者驱动相应设备进行I/O操作。当I/O任务完成后,通道向CPU发出中断信号,由相应的中断处理程序进行处理。4)设备无关性设备无关性又称设备独立性,即用户编写的程序与实际使用的物理设备无关,由操作系统把用户程序中使用的逻辑设备映射到物理设备。第1章操作系统概论4.文件管理功能在现代计算机系统中,总是把大量信息以文件的形式存放在外存中,供所有的或者指定的用户使用。计算机系统也允许用户把处理结果保存在系统中,供以后使用。这样,操作系统就必须具有信息管理的机构,这就是文件系统。文件系统的主要功能是文件管理。文件管理涉及的内容有文件存储空间的管理、文件操作的一般管理、目录管理、文件的读写管理和存取控制。第1章操作系统概论1)文件存储空间的管理系统文件和用户文件都放在磁盘上,为此,需要由文件系统对所有文件以及文件的存储空间进行统一管理,即为新文件分配必要的外存空间,回收释放的文件空间,提高外存的利用率。2)文件操作的一般管理文件操作的一般管理包括文件的创建、删除、打开、关闭等。3)目录管理目录管理包括目录文件的组织,实现用户对文件的“按名存取”,以及目录的快速查询和文件共享等。第1章操作系统概论4)文件的读写管理和存取控制根据用户的请求,当从外存中读取数据或者将数据写入外存中时,为保证文件信息的安全性,防止未授权用户的存取或破坏,需对各文件(包括目录文件)进行存取控制。总的来讲,操作系统的主要功能包括:存储器管理、处理机管理、设备管理和文件管理。处理机管理可分为作业管理和进程管理。第1章操作系统概论1.1.3操作系统在计算机系统中的地位计算机系统由硬件和软件两部分组成。硬件是软件建立与活动的基础,而软件又是对硬件功能的扩充。没有硬件,就失去了计算机系统的物理基础,软件也就无法存在了。反过来,若只有硬件而没有软件,则硬件就像是一堆废物,如同最初的计算机那样,没有多大的应用价值。硬件与软件有机地结合在一起,相辅相成,才使得计算机技术飞速发展,并在当今信息时代占据举足轻重的地位。第1章操作系统概论按照所起的作用和需要的运行环境,软件通常可分为两大类,即应用软件和系统软件(系统软件包括实用软件和操作系统)。应用软件是为解决某一类应用需要或某个特定问题而设计的程序,如图形软件、财务软件、软件包等,是范围很广的一类软件。实用软件是辅助软件技术人员从事软件开发工作的软件,借以提高软件生产率,改善软件产品质量,如各种开发工具、测试工具、编译程序、汇编程序、连接装配程序、数据库管理系统、网络软件等,所以又称为工具软件。操作系统是管理和控制计算机系统资源的软件。这些软件对计算机系统的资源进行控制、管理,并为用户使用计算机和其他程序的运行提供服务。计算机系统中的硬件和软件以及各类软件之间是按层次结构组织的,如图1.1所示。第1章操作系统概论图1.1计算机系统的层次结构实用程序(图形软件、财务软件、软件包等)实用程序(编译、连接、编辑等)用户操作系统硬件系统软件第1章操作系统概论由图1.1可以看出,操作系统是裸机之上的第一层软件,其与硬件的关系尤为密切。操作系统不仅对硬件资源直接实施控制、管理,而且其很多功能的完成是与硬件动作配合实现的(如中断系统)。操作系统的运行需要有良好的硬件环境,这种硬件配置环境往往称作硬件平台。第1章操作系统概论操作系统是整个计算机系统的控制管理中心,其他所有软件都建立在操作系统之上。操作系统对它们既具有支配权力,又为其运行建造必备环境。因此,在裸机之上每加一层软件后,用户看到的就是一台功能更强的机器,通常把经过软件扩充功能后的机器称为“虚拟机”。在裸机上安装了操作系统后,就为其他软件和用户提供了工作环境,往往把这种工作环境称作软件平台。操作系统是裸机之上的第一层软件,它对整个计算机系统的所有软、硬件资源起到控制和管理的作用,同时又为其他软件提供运行环境。第1章操作系统概论1.2操作系统的形成和发展操作系统伴随着计算机技术的发展而发展,它的功能也在发展过程中不断完善。具体地讲,操作系统的发展经历了手工操作阶段、批处理阶段和操作系统的形成阶段。伴随着新技术的不断出现和实际功能需求的增长,操作系统还处于动态发展过程中。第1章操作系统概论1.2.1手工操作阶段从1946年诞生世界上第一台计算机起,到20世纪50年代末,计算机处于第一代。此时没有操作系统,

1 / 108
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功