计算机操作系统之引论---“操作系统的介绍”
<1.1>操作系统的目标和作用
操作系统简称OS,它的作用和地位,简单来说,操作系统是计算机系统的核心,是唯一的控制和管理整个计算机系统硬件的软件
操作系统的目标:
方便性(用户的观点):
提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别,是计算机更容易使用
有效性(系统管理人员的观点)
使CPU、I/O设备和存储空间得到有效利用;管理和分配硬件、软件资源,合理地阻止计算机地工作流程。
可扩充性
OS应采用层次化结构,以便于增加新的功能层次和模块,并能够修改老的功能层次和模块。
开放性
遵循标准规范,方便地实现互连,实现应用的可移植性和互操作性
操作系统的作用:
- OS作为用户与计算机硬件系统之间的接口:通过命令、程序、图形接口 各种接口
2.OS作为计算机系统资源的管理者
计算机系统资源包括:处理机,存储器,I/O设备,文件(数据和程序)等
分别有:处理器管理:用于分配和控制处理机
存储器管理:主要负责内存的分配和回收
I/O设备管理:负责I/O设备的分配与操纵
文件管理:负责文件的存取、共享和保护
管理内容:资源的当前状态(数量和使用情况),资源的分配,回收和访问操作,相应管理策略(包括用户权限)
3.OS实现了对计算机资源的抽象
将覆盖了软件的机器成为扩充机器或虚拟机
OS可以将“裸机“改造成更强大,用户使用更方便的虚拟机
OS发展的主要动力:
- 提高资源的利用率和系统性能
- 方便用户
- 器件的发展 CPU的位宽度 指令和数据
电子管???集成电路?晶体管??
- 计算机体系结构的发展
- 不断提出的应用需求
习题:
按照所起的作用和需要的运行环境,操作系统属于------系统软件
层次:
硬件--->操作系统—-->其他系统软件--->应用软件
在计算机系统中,操作系统是覆盖再硬件上的第一层软件,它是一种特殊的系统软件,也就是核心系统软件,其他的系统软件都要运行再操作系统之上。
操作系统是对 计算机资源 进行管理的系统软件
解析:操作系统是对计算机资源进行管理的系统软件。操作系统是系统软件的核心。计算机启动后,首先要把操作系统调入内存,由它控制和支持在同一计算机上运行的其他程序,并对计算机中的所有软硬件资源进行统一而有效的管理和控制。在所有软件中,操作系统是最基本、最重要、最贴近硬件的,是对“裸机”在功能上的首次开发和扩充。
从用户的观点,操作系统是 用户与计算机之间的接口
从一般用户的观点可把操作系统看做是用户与计算机硬件之间的接口;从资源管理的观点看,则可把操作系统看做是计算机资源的管理者
/**************************
<1.2>操作系统的发展过程
无操作系统的计算机系统---人工操作方式(晶体管) 冯诺依曼计算机 纸带
- 用户既是程序员也是操作员;或者是计算机专业人员
- 编程语言是机器语言
- 输入输出纸片或者卡片
- 用户独占全机:不出现资源被其他用户占用,资源利用率底
- CPU等待用户,计算前手工装入纸带,计算完成后,手工卸载;CPU利用率低;
为解决资源和CPU的利用率和速度,解决人机矛盾
----------出现 脱机输入输出方式(Off-Line I/O)
引入外围机。
实现将装有用户程序或者数据的纸带装入纸带输入机,在外围机的控制下输入到磁盘上,CPU再重磁带上读入数据;输出相反。
其次脱机输入输出是指不在主机的控制下输入输出,不是不使用主机,主机在此工作,只是借助外围机控制进行工作,提高效率。 减小CPU的空闲时间,加快I/O速度。
其的主要问题是:计算机处理能力需要提高,人机矛盾,资源独占
为解决以上问题
单批道处理系统(晶体管)
把一批作业以脱机的方式输入到磁带上,并在系统中配上监督程序(Monitor),并在它的控制下使这批作业能一个接一个地连续处理。
它所需要地东西:1.用户程序,2.数据,3.作业说明书(作业控制语言)
此时的矛盾为:
CUP和I/O设备的使用情况不一致,资源的利用率还是底
对计算为主的作业,I/O设备空闲
对I/O作业为主的作业,CPU空闲
为解决CPU与I/O设备忙碌不均的情况,内存利用率低,如何解决?
为此产生了:多批道处理系统(集成电路) 条件允许多批道处理
运行原理:
1.用户所提交的作业先存放在外村上,并排成一个队列,称为“后备队列”11
2.由作业调度程序按一定的算法,从后背队列中选择若干个作业调入内存;
3.通过进程调度实现多个作业并发执行
例如:I/O设备为你播放视频,CPU为你处理其他进程:下载等等
其特点:
多道性:多道程序进行驻留内存,进行缓存;程序并发执行且不影响
无序性:作业进行内存先后顺序和完成顺序无对应关系
调度性:作业提交给系统需要两次调度 : 作业调度 进程调度
资源利用率高,CPU、I/O设备和内存利用率高
系统吞吐量大:单位时间完成的工作总量大
但是作业平局周期长,用户交互性差:整个作业以后才能与用户交互,不利于调试和修改。
分时系统
产生原因:用户需要—人-机器交互,共享主机
“分时”的含义:是指多个用户分享使用同一台计算机;多个程序分时共享硬件和软件资源。
多个用户分时:单个用户使用计算机的效率低,因而允许多个应用同时由CPU执行,分别服务于不同的用户。有用户输入CPU就执行,处理完一次后
前台和后台程序分时:后台程序不占用终端输入输出,不与用户交互—现在的图形用户界面,除了当前交互的程序(输入焦点之外)均做后台
按时间片分配:各个程序在CPU上执行的轮换时间。
其的特征:
多路性,独立性,及时性,
交互性:
- 用户可以通过终端与系统进行广泛的人机对话,请求系统提供多方面的服务。
- 系统能够及时对用户的操作进行响应,显著提高调式和修改程序的效率:缩短了周转时间。
其的关键问题是:如何使用户于自己的作业今昔交互
- 及时接受:多路卡,缓冲区。
- 及时处理:为了实现交互用户作业必须及时进入内存;不允许一个u欧洲也长期占用处理机,需要按时间片分配。
实时系统:
主要应用于工业过程计算、军事实时控制,金融等领域
包括:
- 实时控制:当计算机应用用于生产过程的控制形成以计算机为中心的控制系统时,系统要求能够实时处理现场数据并对所采集的数据进行及时处理,从而自动地完成控制相应地执行机构,使某些参数能够按预定地规律来变化,以保证产品的质量和提高产量。
- 实时信息处理:能及时接受从远程红缎发来地服务请求,对信息进行检索和处理,并在很短地时间内进行回应。
任务的类型:
- 周期性实时任务
- 非周期性实时任务:有开始截止时间完成截止时间
- 硬实时任务:系统必须满足任务对截止时间要求
- 软实时任务:系统不必须满足任务对截止时间要求
通常把兼有分时、实时、批处理三者或其中两者的操作系统,称为通用操作系统
分时系统和实时系统的比较
简要计算机系统发展演变
单用户单任务操作系统
I
单用户多任务操作系统
I
多用户多任务操作系统
/********************
/**
/**
/**
/********************
<1.3>
操作系统的基本特征: 是指通用操作系统!!!
并发 共享 虚拟 异步
1.并发(Concurrence)
指多个时间在同一时段内发生。操作系统是一个并发系统,各进程间的并发,各进程间的并发,系统与应用间的并发。操作系统完成这些并发过程的管理。
2.并行(parallel)是指在同一时刻发生
3.在多道程序处理时,宏观上并发,微观上交替执行(单处理器情况下)
引入进程(process)
通常的程序是静态实体(passive entity),它们是不能并发执行的。为使多个程序能并发执行,系统必须分别为每个程序建立进程。就是说:进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据、对战等组成,是一个活动实体。多个进程之间可以并发执行和交换信息。一个进程在运行时需要一定的资源,如CPU、存储空间以及I/O设备等。
程序的静态实体是可执行文件,而动态实体是指进程或成为任务,并发指的是进程或者线程。
其目的:引入其是为了可以使多个程序能过够并发执行。进程和并发很重要,也是OS运行的基础。
进程都是OS中可以独立拥有资源作为独立运行的基本单位。 后出现更小的单位线程(threads)。
共享:
- 指系统中资源可供内存中多个并发执行的进程共同使用。因资源属性不同,对资源共享的方式也不同
- 互斥共享(音频设备):资源分配后回到释放前,不被其他进程所用。
- 同时访问(重入代码):同时是宏观,在微观上进程可能是交替地对资源进行访问。
并发和共享是操作系统地两个最基本地特征。两者是相互依存的。
一方面,资源共享是以程序进程地并发执行为条件的;
另一方面,若系统不能对资源共享实时有效管理,协调诸进程共享资源的访问,必然影响道程序并发执行的程度。
虚拟:
通过某种技术把一个物理实体变为若干个逻辑上的对应物,主要目的是在于提高资源的利用率。
操作系统利用了时分复用和空分复用技术。
异步性:
也称不确定性,就是指进程的执行顺序和执行时间的不确定性
进程的运行速度不可预知:多个进程并发执行,“时停时走”,不可预知每个进程的运行推进快慢。
判据:无论快慢,应该结果相同—通过进程互斥和同步手段来保证。
/*****************
/**
/**
/******************
<1.4>操作系统的主要功能
- 处理机管理
- 存储器管理
- 设备管理
- 文件管理
- 用户接口
处理机包括中央处理器,主存储器,输入-输出接口,加接外围设备就构成完整的计算机系统。处理机是处理计算机系统中存储程序和数据,并按照程序规定的步骤执行指令的部件。程序是描述处理机完成某项任务的指令序列。指令则是处理机能直接解释、执行的信息单位。
处理机管理:
- 完成处理机资源分配、回收调度等功能。处理机调度的单位可为进程或线程。
- 进程控制:创建、撤销、挂起、改变运行优先等级—注定改变进程的状态;
- 进程同步:协调并发进程之间的推进步骤,以协调资源共享
互斥方式 诸进程访问临界资源时采用此方式
同步方式 在相互合作完成任务的进程之间由同部机构对执行次序加以协调
- 进程通信:负责进程之间传输数据,以协调程序间的协作或推进进程
- 调度:作业和进程的运行切换,以充分利用机器资源和提高系统性能。也可以是(时间片、I/O操作)引起;作业调度从外村调入内存。
- 管理目标:提高利用率、方便用户使用、提供足够的存储空间、方便程序并发运行。
- 内存分配:为每道程序分配空间---静态分配、动分配;提高存储器的利用率、减少碎片;允许正在允许的程序申请附加空间;
- 内存保护:确保每道用户程序旨在自己的内存空间运行,彼此互不干扰。
绝不允许用户访问操作系统的程序,也不允许用户转系道非共享的其他用户程序中去执行。设置内存白虎机制:设置两个界限寄存器,由硬件实现越界检查。
- 地址映射:程序中的地址称为“逻辑地址”或者“相对地址”。村村中单元的地址称为“物理地址”。多道程序下,进程装入内存后要由逻辑地址到内存物理地址进行交换。
- 内存扩充:借助于虚拟存储技术,从逻辑上去扩充内存容量。改善了系统的性能,基本上不增加硬件投资。请求调入功能。置换功能。
设备管理:
用于管理计算机系统中所有的外围设备。主要任务是完成用户进程提出I/O请求;为用户分配其所需的I/O设备;提高利用率,提高速度,方便使用;
为实现上述任务:需要缓冲管理、设备分配、设备处理等功能
缓冲区管理:匹配CPU和外设的速度,提高两者的利用率
单缓冲、双缓冲、公共缓冲池。
设备分配:根据用户进程的I/O请求、系统现有资源以及按照某种设备分配策略,为之分配其所需的设备。
设备处理:用于实现CPU和设备控制器之间的通信。
文件管理:
是对用户文件和系统文件进行管理,以方便用户使用,并保护文件的安全性。
包括:文件存储空间管理 目录管理 文件的读写管理和包含
操作系统与用户之间的接口:
目标:提供一个友好的用户访问操作系统的接口
用户接口有:联机用户接口(联机用户,由一组键盘操作命令以及命令解释程序所组成) 脱机用户接口(批处理作业的用户 由一组作业控制语言JCL组成,批处理用户不能直接与自己的作业交互作用,只能委托系统代替用户对作业控制和干预)
- 用户接口 2.程序接口
/**************
/*****
/*
/*
/***********
/*************
<1.5>操作系统的结构
1.传统的操作系统结构
2.客户/服务器模式
3.面对对象的程序设计
4.微内核OS结构
无结构操作系统: 此时OS是为数众多的一组过程的集合,各过程之间可以相互调用,在操作系统内部不存在任何结构。
模块化结构OS:模块由众多服务过程组成,可以随意调用其他模块的服务过程
功能划分和模块接口难保正确和合理,模块之间的依赖关系复杂,降低了模块间的相对独立性—不利于修改且无序。
分层式结构OS:
基本原则是:每一层都是用其底层所提供的功能和服务,这样可使系统的吊石和验证都容易。易于保证系统正确、扩充,维护,但是系统效率低
客户/服务器模式组成
客户机:在一个LAN网络上连接多台网络工作站(客户站)
服务器:通常是一台规模较大的机器,在其上驻留有瓦哥罗文件系统或数据库系统。它应能为网上所有的用户提供一种或多中国服务。
网络系统:用于连接所有客户机和服务器,实现它们之间通信和网络资源共享。
微内核(MicroKernel)OS结构
把操作系统分为若干分别完成一组特定功能的服务进程,等待客户提出请求;而系统内核只实现操作系统的基本功能。(虚拟存储,消息传递)
微内核(MicroKernel)OS结构-----基于客户/服务模式
微内核(MicroKernel)OS结构-----应用“机制与策略分离”原理
机制是指实现某一功能的集体执行机构
策略是在机制的基础上借助与某些参数和算法来实现该功能的优化,或者去达到不同的功能目标。
且采用面向对象技术:基于“抽象”和“隐蔽”原则控制系统的复杂性,再利用对象、封装、继承等确保操作系统的基本操作与功能。
基本功能:进程管理 低级存储器挂历 中断和陷入处理
优点:提高了系统的可扩展性,系统可靠性,可移植性,提供对分布式系统的支持,融入面向对象技术。