操作系统概述

2016-12-13  本文已影响0人  cheerss

操作系统的定义和作用

定义:操作系统是计算机系统中的一个系统软件,是一些程序模块的集合。

作用:

(1)资源管理:能尽量有效、合理的方式组织和管理计算机资源。其中包括各种软硬件资源,CPU、内存、设备、时钟、网卡、文件等

资源管理的方式:

1、跟踪记录资源使用情况

2、确定资源分配策略

3、实施资源的分配和回收

4、提高资源的利用率

5、保护资源使用

6、协调多个进程对资源请求的冲突

(2)提供服务:为用户提供一组功能强大、方便使用的命令系统调用(用户和计算机交互的两种方式)

(3)对硬件机器进行拓展(对应操作系统的虚拟性,见下文):屏蔽硬件的一些繁琐操作和实现细节,将其包装成一些简单的操作,使硬件对程序员透明,对硬件进行抽象。

操作系统的特征

1、并发:能处理多个同时性的活动。并发与并行不同,并行指的是不同的程序在多个硬件部件上同时执行;但并发指的是同一个套硬件执行多个程序,在宏观上,不同的程序同时执行,但在微观上,同一时刻实际上只有一个程序在执行

2、共享:操作系统与多个用户的程序共同使用就计算机系统中的(有限的)资源。

互斥共享(如打印机)

同时共享(如可重入代码、磁盘文件等)

引发的问题:资源分配难以达到最优,如何保护资源?

3、虚拟:一个物理实体映射为若干个对应的逻辑实体——分时或分空间。

虚拟是操作系统管理资源的重要手段,可以提高资源利用率。

如:CPU——每个进程的“虚处理机”

存储器——每个进程都有独立的虚拟地址空间(代码+数据+堆栈)

显示设备——多窗口或虚拟终端

4、随机:操作系统必须随时对以不可预测的次序发生的时间进行响应和处理。

多个进程并发执行,“走走停停”,无法预知每个进程的运行快慢

也因此,难以重现在某个时刻的系统出现状态,包括难以重现同一个错误,这给操作系统的调试带来了很大的困难。


操作系统的架构

不同的系统有着不同的架构,如WINDOWS、UNIX、LINUX等,下面只是一些大致的架构,可能和具体的实现有所不同

1、内核模块:

(1)硬件抽象层:屏蔽了硬件的细节

(2)内核层:处理不同体系结构之间的功能,如线程管理、线程调度、终端处理、文件系统等

(3)设备驱动程序层:包括各个文件系统驱动程序,设备驱动程序等

(4)系统调用接口:与用户模块交互的通道

2、用户模块:

(1)动态链接库、环境子系统(WINDOWS独有)

(2)用户进程

(3)库函数

(4)应用程序

操作体统分类

根据需求和目的,操作系统的分类方式也有多种,以下是一种分类方式,根据工作方式和场景等来分类

1、批处理操作系统:用户把作业交给操作员,操作员将一批作业交给系统,那么操作系统会依次、顺序执行每个作业。一旦开始执行,用户无法对系统进行任何干预,即不能有任何交互。

(1)单道批处理系统:内存中只能有一个作业

(2)多道批处理系统:内存中可以有多个作业同时存在,以能够充分利用计算机的资源。

缺陷:由于慢速的输入输出,使得CPU在大部分时间处于空闲状态

解决方案:

(1)卫星机:卫星机完成面向用户的输入输出(读入纸带或卡片),中间结果暂存在磁盘或磁带上。由操作员将磁盘或磁带交给一部处理性能强的计算机来计算,计算结果暂存在磁盘或磁带中,由操作员将磁盘或磁带到另一个卫星机上来打印。

注:以上过程实际上涉及到了3台计算机,两台卫星机分别负责输入和输出的工作,而一个较强计算能力的机器专门负责计算,将慢速的输入输出和快速的计算进行分离,以提高CPU利用率。

(2)spooling技术:spooling技术将上述案例中三台计算机完成的任务合成到了一台计算机中。

spooling技术:是一个批处理系统实现通常采用的技术。又称为假脱机技术。

思想:利用磁盘作为缓冲,将输入、计算、输出分别组织成独立的任务流,是I/O和计算真正的并行

过程:

(1)用户作业加载到磁盘上的输入井

(2)按照某种调度作业选择几个搭配得当的作业,调入内存。

(3)作业运行的结果输出到磁盘上的输出井

(4)运行的结果从磁盘上的输出井送到打印机

时至今日,有些设备上依旧在使用spooling技术,如打印机。每一页可以认为是一个作业,一个文档被输入到打印机请求队列中(输入井),打印进程从输入井中读取数据负责打印。

spooling技术

2、分时操作系统:将CPU的时间划分为若干个片段,即时间片。操作系统以时间片尾单位,轮流为每个终端用户服务,每次服务的时间一个时间片,给每个用户的错觉是计算机上没有其他的用户,系统由其独占。

3、通用操作系统:分时操作系统和批处理系统相结合。分时优先、批处理在后。白天分时给大家用,晚上的时候用户不使用终端的时候再把大部分CPU用来处理批作业,因为分时系统对即时性要求较高,而批处理对响应时间要求不高。

4、实时操作系统:指计算机能及时响应外部事件的请求,在规定的严格时间内做出响应,高可靠性。

5、个人计算机操作系统:追求界面友好,功能丰富

6、网络操作系统:追求相互通信、资源共享

7、分布式系统:以计算机网络为基础,或者以多个处理机为基础,基本特征是处理分布在不同计算机上,允许若干个计算机相互协作来完成同一项任务。处理能力增强、速度更快、对用户透明,即用户感觉不到分布式的存在

8、嵌入式系统:它们是一个大设备的一部分,运行在嵌入式设备中。

上一篇下一篇

猜你喜欢

热点阅读