美文网首页
操作系统概述

操作系统概述

作者: cheerss | 来源:发表于2016-12-13 10:53 被阅读0次

    操作系统的定义和作用

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

    作用:

    (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、嵌入式系统:它们是一个大设备的一部分,运行在嵌入式设备中。

    相关文章

      网友评论

          本文标题:操作系统概述

          本文链接:https://www.haomeiwen.com/subject/jjmvmttx.html