1.1操作系统(OperatingSystem,OS)的目标和作用
1.1.1操作系统的目标:方便性、有效性、可扩充性和开放性。
1、方便性:想一下以前程序员需要向计算机输入0、1信息,计算机才能转换为机器可识别的程序,这样很不方便,现在配置操作系统,用户可以直接通过操作系统OS提供的命令来操作计算机系统,方便了用户。
2、有效性:有效性包含的第一层含义是提高计算机系统资源的利用率;第二层含义是提高计算机系统的吞吐量。要知道操作系统最主要的目的是管理计算机系统内的资源,包括硬件资源,软件资源等,所以好的操作系统需要追求较高的有效性,来提高计算机系统资源的利用率和系统吞吐量。
3、可扩充性:主要指操作系统增添新的功能和模块,对原有的功能和模块进行修改的性能。
4、开放性:是指系统能够遵循世界标准规范,这样遵循标准规范开发的硬件和软件都能彼此兼容,实现互连。
1.1.2操作系统(OS)的作用
·首先要知道操作系统最根本的目的就是管理资源。那么管理什么资源呢?管理计算机系统的资源,计算机系统的资源又主要包括硬件资源和软件资源,所以操作系统的作用主要围绕这两种资源展开。
1、OS作为用户与计算机硬件系统之间的接口
操作系统是覆盖在计算机硬件上的大型软件,处于用户和计算机硬件系统之间,用户需要通过OS来使用计算机系统,所以OS作为用户与计算机硬件系统之间的接口。
2、OS作为计算机系统资源的管理者
计算机系统的硬件资源和软件资源主要可以分为四类:处理机(或CPU)、存储器、I/O设备以及文件(数据和程序)。OS主要是管理计算机系统的资源,所以OS作为计算机系统资源的管理者。
3、OS实现了对计算机资源的抽象
一开始对于一台完全无软件的计算机系统(即裸机),它向用户提供的直接就是硬件接口(物理接口),这样用户操作起来很麻烦,如果不了解各接口的作用,对计算机的操作可能无从下手,但在计算机系统上覆盖OS,用户根据OS的相关命令,就可以完成对计算机硬件系统的操作,所以这是一种对计算机资源的抽象,这样的抽象是由操作系统OS实现的。
1.1.3推动操作系统发展的主要动力
1、不断提高计算机资源利用率
以前,计算机系统特别昂贵,所以必须尽力提高计算机系统中各种资源的利用率。
2、方便用户
接着,资源利用率提高了,用户想要便利的上机,调试代码,所以为了方便用户使用计算机,OS在不断发展。
3、器件的不断更新换代
IT技术发展,微机芯片在不断更新换代,可以快速提高计算机性能,从而推动了OS的性能与功能的发展。
4、计算机体系结构的不断发展
计算机体系结构的变化,使得操作系统也要发生相应的变化,产生新的OS类型。例如出现计算机网络后,配置在计算机网络上的网络操作系统就产生了。
5、不断提出的新的应用需求
时代的发展,人们的需求越来越多样,有了更多的需求,例如:用户想边听音乐边编辑文档,想在电脑上看电影打游戏等。有了更多样的需求,就促使操作系统不断发展。
1.2操作系统的发展过程
1.2.1未配置操作系统的计算机系统
1、人工操作方式:程序员将已经穿孔的纸带放入纸带输入机,启动计算机运行。
2、脱机输入/输出:程序员将穿孔的纸带通过外围机将纸带上的数据输入到磁盘里,再从磁盘上把数据高速调入内存,输出的结果再通过外围机到相应的输出设备输出。这样可以解决人机矛盾以及CPU与I/O设备速度不匹配的矛盾。
1.2.2单道批处理系统
1、单道批处理系统的处理过程
内存只有一条处理程序的通道,在系统中设置监督程序,保证输入的一批作业可以一个接一个的连续处理。
2、单道批处理系统的缺点
内存中仅有一道程序,造成内存的浪费,同时CPU的利用率也不高。
1.2.3多道批处理系统
1、多道批处理系统的处理过程:
在内存中同时装有若干道程序。由作业调度程序按一定的算法,从已输入的作业队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。
2、多道批处理系统的优缺点
·首先记住多道批处理系统的主要特征:多道性、无序性、调度性
优点:
·资源利用率高
·系统吞吐量大
·平均周转时间长
·无交互能力
3、多道批处理系统的问题
·处理机争用问题
·内存分配和保护问题
·I/O设备分配问题
·文件的组织和管理问题
·作业管理问题
·用户与系统的接口问题
1.2.4分时系统
1、为什么要引入分时系统
多道批处理系统的形成和发展是为了满足提高计算机系统的资源利用率和系统吞吐量,但多道批处理系统没法满足用户对人——机交互的需求,所以引入了分时系统,为的就是实现人——机交互。
2、分时系统实现的关键问题
·多道批处理系统中,用户无法与自己的作业进行交互的主要原因是:作业都先保存在外存中,即使后面被调入内存,也要经过长时间的等待后才能运行,用户无法与自己的作业交互。
·实现人——机交互的关键问题:如何使用户能与自己的作业进行交互。主要需要实现用户在终端上输入命令后,系统能及时接收,并及时处理该命令,再将结果返回给用户。
3、如何实现及时接收和及时处理
·及时接收:利用多路卡技术。多路卡的作用是:实现分时多路复用。即主机以很快的速度周期性的扫描各个终端,并在每个终端停留很短的设计,用于接收从终端发来的数据。
·及时处理:确保每个用户的作业都驻留在内存中,并能频繁的获得处理机运行。可以采用以下两种方式:
·作业直接进入内存。
·采用轮转运行方式。
4、分时系统的特征
·多路性:指系统允许将多个终端同时连接到一台主机上,并按分时原则为每个用户服务。
·独立性:系统提供了一个独立的环境,即每个用户在各自的终端上进行操作。
·及时性:指用户的请求能在很短时间内获得响应。
·交互性:指用户可通过终端与系统进行广泛的人机对话。
1.2.5实时系统
1、实时系统的类型
·工业(武器)控制系统
·信息查询系统
·多媒体系统
·嵌入式系统
2、实时任务的类型
(1)周期性实时任务和非周期性实时任务
·周期性实时任务:外部设备周期性地发出激励信号给计算机,要求它按指定周期循环执行,以便周期性地控制某外部设备的任务。
·非周期性实时任务:无明显的周期性。
·相同点:都联系着一个截止时间,或称为最后期限。最后期限又分为:
·开始截止时间:指某任务在某时间以前必须开始执行。
·完成截止时间:指某任务在某时间以前必须完成。
(2)硬实时任务和软实时任务
·硬实时任务:指系统必须满足任务对截止时间的要求,否则可能出现难以预测的后果。例如:用于工业和武器控制的实时系统,如果不满足对时间的要求,可能会造成很大的问题。
·软实时任务:该任务也会联系着一个截止时间,但偶尔错过了任务的截止时间,对系统产生的影响也不会太大。例如:信息查询系统和多媒体系统,有时候会出现网络延迟等情况,造成错过了任务的截止时间,但并不会造成很大的损失。
3、实时系统与分时系统特征的比较
·多路性、独立性、及时性、交互性和可靠性五个方面的比较,主要是对时间上的精确要求以及后果来做比较。
1.2.6微机操作系统的发展
1、单用户单任务操作系统
·代表性OS:CP/M、MS-DOS
2、单用户多任务操作系统
·代表性OS:Windows系统
3、多用户多任务操作系统
·代表性OS:UNIXOS
·UNIX系统的变形1:SolarisOS
·UNIX系统的变形2:LinuxOS
1.3操作系统的基本特征
·操作系统的基本特征为:并发、共享、虚拟和异步。
1.3.1并发
·正是系统中的程序能够并发执行这一特征,才使得OS能够有效地提高系统中的资源利用率,增加系统的吞吐量。
1、并行和并发
·并行性:指两个或多个事件在同一时刻发生。
·并发性:指两个或多个事件在同一时间间隔内发生。
·在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻仅有一道程序执行,故微观上这些程序是在分时地交替执行。
·若计算机系统中有多个处理机,这些并发执行的程序便可分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序可同时执行。
2、引入进程
·进程:是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。简单来说,进程就是开始的程序。
1.3.2共享
·在OS环境下的资源共享或称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。这里在宏观上既限定了时间(进程在内存期间),也限定了地点(内存)。
1、互斥共享方式
·在一段时间内只允许一个进程访问的资源称为临界资源。
·系统中的某些资源,例如打印机、处理机、磁带机等,虽然可以提供给多个进程(线程)使用,但为了防止出错,应规定在一段时间内,只允许一个进程访问该资源。所以在系统中应该建立一种机制,以保证多个进程对这类资源的互斥访问。
2、同时访问方式
·同时访问资源:允许在一段时间内由多个进程“同时”对它们进行访问,例如:一些磁盘设备或某些文件资源可以被“同时”共享,即允许若干个用户同时访问这些资源。
1.3.3虚拟
·在OS中,把通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能称为“虚拟”。
1、时分复用技术
·利用处理机的空闲时间运行其他程序。
(1)虚拟处理机技术。
·为每道程序建立至少一个进程,将一台物理上的处理机虚拟为多台逻辑上的处理机,在每台逻辑处理机上运行一道程序,把用户所感觉到的处理机称为虚拟处理器。
(2)虚拟设备技术。
·通过分时复用的方法,将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备。这样的结果是:使原来仅允许在一段时间内由一个用户访问的设备(即临界资源),变为允许多个用户“同时”访问的共享设备,即宏观上能“同时”为多个用户服务。
2、空分复用技术
·利用存储器的空闲时间分区域存放和运行其它的多道程序,来提高内存的利用率。
·早期的频分复用技术是指将一个频率范围比较宽的信道划分成多个频率范围较窄的信道(称为频道),其中的任何一个频道都仅供一对用户通话。
·单纯的空分复用存储器只能提高内存的利用率,要实现在逻辑上扩大存储器容量的功能,必须引入虚拟存储技术。虚拟存储技术在本质上上是实现内存的分时复用,即它可以通过分时复用内存的方式,使一道程序仅在远小于它的内存空间中运行。例如:一个100MB的程序之所以可以运行在30MB的内存空间,实质上就是每次只把用户程序的一部分调入内存运行,运行完成后将该部分换出,再换入另一部分到内存中运行。
·如果采用分时复用的方法,对某一台物理设备进行分时复用,设N是某物理设备所对应的虚拟的逻辑设备数,则每台虚拟设备的平均速度必然等于或低于物理设备速度的1/N。
·如果利用空分复用方法来实现虚拟,此时一台虚拟设备平均占用的空间必然等于或低于物理设备所拥有空间的1/N。
1.3.4异步
·进程是以人们不可预知的速度向前推进的,即进程的异步性。由于资源等因素的限制,使进程通常以“走走停停”的方式运行,这样可能是先进入内存的作业后完成,后进入内存的作业先完成,即进程的异步性。
1.4操作系统的运行环境
·操作系统内核的主要功能:支撑功能和资源管理功能。
·支撑功能包括:中断处理、时钟管理和原语操作。
·资源管理功能包括:进程管理、存储器管理和设备管理。
·处理机需要两种单独运行模式:用户态和内核态。
·特权指令:在内核态下运行的指令。
·非特权指令:在用户态下运行的指令。
·中断与异常(操作系统是由中断驱动的)
·中断:由硬件引起。
·陷入/异常:由软件引起。(出错/用户程序的特定请求)
1.5操作系统的主要功能
·OS具有的主要功能有:处理机管理、存储器管理、设备管理和文件管理。
1、处理机管理功能
·进程控制
·进程同步
·进程通信
·调度:作业调度和进程调度。
2、存储器管理功能
·内存分配:静态分配方式和动态分配方式。
·内存保护
·地址影射
·内存扩充:请求调入功能和置换功能。
3、设备管理功能
·缓冲管理
·设备分配
·设备处理
4、文件管理功能
·文件存储空间的管理
·目录管理
·文件的读/写管理和保护
5、操作系统与用户之间的接口
·用户接口
·程序接口
6、现代操作系统的新功能
·系统安全
·网络的功能与服务
·支持多媒体
1.6OS结构设计
·传统结构的OS:无结构的OS(第一代)、模块化的OS(第二代)、分层式结构的OS(第三代)
·现代结构的OS:微内核结构的OS。
1.6.1传统操作系统结构
1、无结构操作系统
·早期的OS为了功能的实现和获得较高的效率,是为数众多的一组过程的集合,每个过程可以任意地相互调用其它过程,使得操作系统内部复杂混乱,所以这种OS是无结构的,也称为整体系统结构。
2、模块化结构OS
·该结构按功能划分为若干个具有一定独立性和大小的模块,每个模块具有某方面的管理功能。
·模块独立性的两个衡量标准:
·内聚性:指模块内部各部分间联系的紧密程度。内聚性越高,模块独立性越强。
·耦合度:指模块间相互联系和相互影响的程度。耦合度越低,模块独立性越好。
·模块接口法的优缺点
·提高OS的正确性、可理解性和可维护性。
·增强OS的可适应性。
·加速OS的开发过程。
·OS对各模块间的接口规定很难满足对接口的实际需求。
3、分层式结构OS
·自底向上的分层设计的基本原则是:每一步设计都建立在可靠的基础上。
·分层结构的优缺点
·易保证系统的正确性。
·易扩充和易维护性。
1.6.2客户/服务器模式(C/S模式)
1、客户/服务器系统的组成
·客户机
·服务器
·网络系统
2、客户/服务器之间的交互过程
·客户机发送请求消息
·服务器接收消息
·服务器回送消息
·客户机接收消息
3、客户/服务器模式的优点
·数据的分布处理和存储
·便于集中管理
·灵活性和可扩充性
·易于改编应用软件
1.6.3面向对象的程序设计
·对象:是指在现实世界中具有相同属性、服从相同规则的一系列事物的抽象,而把其中的具体事物称为对象的实例。
·面向对象技术的优点
·可修改性和可扩充性
·继承性
·正确性和可靠性
1.6.4微内核OS结构
1、微内核操作系统的结构
·足够小的内核
·基于客户/服务器模式
·应用“机制与策略分离”原理
·机制:指实现某一功能的具体执行机构。
·策略:在机制的基础上借助某些参数和算法来实现该功能的优化。
·采用面向对象技术
2、微内核的基本功能
·进程(线程)管理
·低级存储器管理
·中断和陷入处理
3、微内核操作系统的优点
·提高了系统的可扩展性
·增强了系统的可靠性
·可移植性强
·提供了对分布式系统的支持
·融入了面向对象技术
4、微内核操作系统存在的问题
·运行效率低
·主要原因:在完成一次客户对操作系统提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模型与上下文的多次切换。
重点定义:
·操作系统的定义:操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
·软件工程的定义:指运用系统的、规范的和可定量的方法,来开发、运行和维护软件;或者说,是采用工程的概念、原理、技术和方法,来开发和维护软件,其目的是为了解决在软件开发中所出现的编程随意、软件质量不可保证以及维护困难等问题。
推荐阅读:
- 上一篇: 怎么重装电脑系统
- 下一篇: 《黑神话》Steam后台数据更新!TGA或有新动作
猜你喜欢
- 2024-04-26传奇私服攻略:35级至55级刷怪地图推荐
- 2024-04-26中变网通传奇法师与道士职业对比心得
- 2024-04-25传奇私服攻略:玩家如何合成高级装备
- 2024-04-25热血传奇sf法师提升装备指南心得
- 2024-04-24复古传奇私服道士到狗狗怎么玩比较厉害
- 2024-04-24单职业传奇战士升级与技能选择心得
本文暂时没有评论,来添加一个吧(●'◡'●)