计算机操作系统

来源:互联网 发布:常州淘宝网络公司 编辑:程序博客网 时间:2024/05/18 00:23

一、操作系统引论

1.1 操作系统的目标

在计算机上配置操作系统的主要目标是:便利性、有效性、可扩充性和开放性。

便利性:一个没有配置OS的计算机是极难使用的,用户想要使用必须在计算机上使用计算机语言编写程序。但如果在计算机上配置了OS,系统可以使用编译命令将用户的高级指令转化为机器代码,用户也可以直接通过OS提供的命令直接操纵计算机,极大地方便了用户,使得计算机变的易学易用。

有效性:有效性所包含的第一层含义是提高系统资源的利用率,这是促进OS发展的主要动力。另一层含义是提高系统的吞吐量,OS合理地组织计算机的工作流程,加速程序的运行,缩短程序的运行周期。

可扩充性:为了适应计算机及其应用的发展,OS必须具备良好的可扩充性,由于扩充性和OS的结构关系密不可分,因此促进了OS的结构发展。

开放性:开放性是指系统能够遵循世界标准规范,彼此兼容,方便之间进行互联。

1.2 操作系统的作用

1.OS作为用户与计算机之间的接口
OS处于用户与计算机硬件系统之间,用户通过OS来操纵计算机,其中有三种方式:命令方式、系统调用方式和图标—窗口方式。

2.OS作为计算机系统资源的管理者
在一个计算机中通常含有多种硬件和软件资源,归纳起来可分为:处理机、存储器、I/O设备以及文件(数据和程序)。相应地,OS的主要功能也正是对这四类资源进行有效的管理。处理机管理是用于分配和控制处理机;存储器管理主要负责内存的分配与回收;I/O设备管理是负责I/O设备的分配(回收)与操纵;文件管理是用于对文件的存取、共享和保护。

3.OS实现了对计算机资源的抽象
OS是铺设在计算机硬件上的多层软件的集合,他们不仅增强了系统的功能,还隐藏了对硬件操作的具体细节,实现了对计算机硬件操作的多个层次的抽象模型。一层一层叠加,随着层数的提高,抽象接口提供的功能就越强,用户的使用也更方便。

1.3 操作系统的发展过程

1.未配置操作系统的计算机系统
采用两种方式:人工操作方式和脱机输入/输出(Off-Line I/O)方式。人工操作方式早期的操作方式是由程序员将事先已穿孔的纸带或卡片,装入纸带输入机或卡片输入机,随后将数据输入计算机。这种做法有两个缺点:一个是用户独占全机,另一个是CPU等待用户的操作。脱机输入/输出(Off-Line I/O)方式是事先将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,将纸带上的数据输入到磁带上,在CPU需要这些数据时,从磁带上告诉的调入内存,输出同理。这种方式的主要优点为:减少了CPU的空闲时间,提高了I/O的速度。

2.单道批处理系统
为了实现对作业的连续处理,需要先把一批作业以脱机方式输入到磁带上,并在系统中配置监督程序,使作业能够一批一批的连续处理。处理过程是:首先由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业;当该作业处理完成时,又把控制权交还给监督程序,再有监督程序把磁带上的第二个作业调入内存。这种做法的缺点是:系统中的资源得不到充分的利用。因为在内存中仅有一道程序,当该程序在运行中发出I/O请求后,CPU便处于等待状态,必须在其I/O完成后才能继续运行。加上I/O设备的低速性,导致CPU的利用率显著降低。

3.多道批处理系统
为了进一步提高资源的利用率和系统吞吐量,形成了多道批处理系统,在该系统中,用户所提交的作业先放在外存上,排成一个队列,然后由作业调度程序按一定的算法,从队列中选择若干个作业调入内存,是他们共享CPU和系统中的各种资源。优点:资源利用率高,系统吞吐量大。缺点:平均周转时间长,无交互能力。

4.分时系统
分时系统的出现是为了满足当时用户需求,它在一台主机上连接了多个配有显示器和键盘的终端并由此组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源。这样一来解决了用户人机交互和共享主机的需求。建立分时系统的关键问题:及时接受和及时处理。分时系统的特征:多路性,独立性,及时性,交互性。

5.实时系统
所谓“实时”是表示及时,实时系统最主要的特征就是将时间作为关键参数,他必须对所接收到的某些信号做出“及时”或“实时”的反映。所以实时系统能及时响应外部请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行。

操作系统在90年代以来发展迅速,其主要动力在:我们需要不断地提高计算机资源利用率,还要方便用户,加之器件飞速发展不断更新换代,以及计算机体系结构的不断发展和不断提出的新的应用的需求。

1.4 操作系统的基本特征

计算机的共同特征有:并发,共享,虚拟和异步。
并发:并发性是指两个或多个时间在同一时间间隔发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理系统中,每一时刻却仅能有一道程序运行,故微观上这些程序只能是分时地交替运行。对内存中多个程序都分别建立一个进程,他们就可以并发执行,这样能极大地提高系统资源的利用率,增加系统的吞吐量。
共享:OS环境下的共享指的是资源共享或称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。实现资源共享的方式有:互斥共享方式,同时访问方式。
虚拟:在OS中:把通过某种技术将一个物理实体转变为若干个逻辑上的对应物的功能称为“虚拟”。在OS中是利用时分复用和空分复用技术来实现“虚拟”的。
异步:由于资源等因素的限制,进程的执行通常不会一气呵成,二是停停走走。对于内存中的进程,在何时能获得处理机运行,何时又因为提出某种资源而请求暂停,以及进程以怎么样速度向前推进,每道程序总共需要多少时间才能完成都是不可预知的。

1.5 操作系统的主要功能

1.处理机管理功能
处理机管理的主要功能有:创建和撤销进程,对进程的运行进行协调,实现进程之间的信息交换,以及按照一定的算法把处理及分配给进程。
进程控制:进程更控制的主要功能就是为作业创建进程,撤销(终止)已结束的进程,以及控制进程在运行过程中的状态转换。
进程同步:为使多个进程能够有条不紊的进行,系统中必须设置相应的进程同步机制,该机制的主要任务就是使用进程互斥或者进程同步方式为多个进程(含线程)的运行进行协调。
进程通信:进程通信的任务就是实现相互合作过程之间的信息交换。
调度:调度分为作业调度和进程调度。作业调度:作业调度的进本任务是从后备队列中按照一定的算法选择出若干个作业,为它们分配运行所需的资源,再将这些作业调入内存后分别为他们建立进程,使它们成为可能获得处理机的就绪进程,并将它们插入就绪队列中。进程调度的任务是从进程的就绪队列中按照一定的算法选出一个进程,将处理机分配给他,并为它设置运行现场,使其投入运行。

2.存储器管理功能
存储器的主要任务是为多道程序的运行提供良好的环境,提高存储器的利用率,方便用户使用,并能从逻辑上扩充内存。为此存储器管理应具有内存分配和回收、内存保护、地址映射和内存扩充等功能。
内存分配:内存分配的主要任务是:1.为每道程序分配内存空间 2.提高存储器的利用率,尽量减少不可用的内存空间(碎片) 3.允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。 OS在实现内存分配时一般采用静态分配和动态分配两种方式。
内存保护:内存保护的主要任务是:1.确保每道用户程序都仅在自己的内存空间内运行,彼此互不干扰。 2.决不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其他用户程序中去执行。
地址映射:为了保证程序能够正确运行,存储器管理必须提供地址映射功能,即能够将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。
内存扩充:内存扩充并非是从物理上扩大内存的容量,而是借助于虚拟存储技术,从逻辑上扩充内存容量,是用户所感觉到的内存容量比实际容量大得多,以便让更多的用户程序能够并发运行。

3.设备管理功能
设备管理的主要任务是:1.完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作。 2.提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。设备管理具有:缓冲管理,设备分配和设备处理以及虚拟设备等功能。
缓冲管理:在I/O设备和CPU之间引入缓冲可以有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提供系统的吞吐量。
设备分配:设备分配的主要任务是根据用户进程的I/O请求,系统现有资源情况以及按照某种设备分配策略,为之分配其所需的设备。
设备处理:设备处理程序又称为设备驱动程序,其基本任务是用于实现CPU和设备控制器之间的通信,即由CPU向设备控制器发出I/O命令,要求他完成指定的I/O操作;反之,由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理。

4.文件管理功能
文件管理主要任务是对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性。文件管理应具有对文件存储空间的管理,目录管理、文件的读/写管理以及文件的共享与保护功能。
文件存储空间的管理:主要任务是为每个文件分配必要的外存空间,提高外村的利用率,进而提高文件系统的存、取速度。
目录管理:主要任务是为每个文件建立一个目录项,目录项包括文件名、文件属性、文件在磁盘上的物理位置等,并对众多的目录项加以有效地组织,以实现方便的按名存取。
文件的读/写管理和保护:文件的读/写是根据用户的请求从外存中读取数据,或将数据写入外存。文件保护是方式系统中的文件被非法盗窃或破坏。

1.6 OS结构设计

1.传统操作系统结构
传统的操作系统结构分为三代:无结构的OS(第一代),模块化结构的OS(第二代),分层式结构的OS(第三代)。
无结构的OS:早期开发操作系统时设计这只是单纯的把他的注意力放在功能的实现和获得高的效率上,普遍缺乏设计思想,操作系统复杂又混乱。
模块化的OS:为始OS具有较清晰的结构,OS按照其功能精细地划分为若干个具有一定独立性和大小的模块。每个模块具有不同的功能,各模块之间通过接口实现交互。这种方式叫做模块-接口法。在划分模块时必须充分注意模块的独立性问题,因为模块的独立性越高,各模块之间的交互就越少,系统的结构也就越清晰。衡量模块的独立性有以下两个标准:內聚性和耦合度。内聚性指的是模块内部各部分之间联系的紧密度。耦合度指的是模块之间相互联系和相互影响的程度。模块-接口法的优点:1.提高OS设计的正确性、可理解性和可维护性。 2.增强OS的可适应性。 3.加速OS的开发过程。缺点:1.在OS设计时对各模块之间的接口规定很难满足在模块设计完成后对接口的实际需求。 2.在OS设计阶段,设计者必须做出一系列的决定,每一个决定必须建立在上一个决定的基础上,但在这种方法中各模块的设计齐头并进,无法寻找一个可靠的决定顺序。
分层结构OS
分层结构OS则试将模块-接口法的无序性变为有序性,设计的基本原则则是每一步的设计都建立在可靠的基础上。这样可以保证系统的正确性和易扩充和易维护性。

2.客户/服务器模式(Client/server Model)
简称为C/S模式,主要由客户机服务器和网络系统三部分组成。客户机和服务器之间的交互过程为:1.客户发送请求消息 2.服务器接收消息 3.服务器回送消息 4.客户机接收消息。这种方式的优点:1.数据可分布处理和存储 2.便于集中管理 3.灵活性和可扩充性 4.易于改编应用软件。

3.面向对象的程序设计(Object-Orientated Programming)
面向对象的思想过于抽象这里不再解释(反正我理解)

二、进程的描述

1进程的定义和特征

1.进程的定义
对于进城的定义,不同的角度有着不同的定义,其中较典型的是:
(1)进程是程序的一次执行
(2)进程是程序及其数据在处理机上循序执行时所发生的活动
(3)进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。

2.进程的特征
进程的特征:动态性,并发性,独立性和异步性。

0 0