OS学习-OS引论

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jun8148/article/details/80845174

OS学习—引论

一、目标和作用

(一)、什么是操作系统

​ 操作系统(OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充;它负责管理好软硬件的资源分配、调度,控制协调多个任务的活动,实现信息的存取和保护。提供用户接口,使用户获得良好的工作环境。

(二)、操作系统目标

重点记住一二点:

  1. 方便性

    配置OS之后极大方便用户的操作,使计算机更容易使用

  2. 有效性

    改善资源利用率、提高吞吐量

  3. 可扩充性

    OS采取层次化结构,近来OS都广泛采用微内核结构,微内核方便添加新的功能和模块,以及对原有的功能进行修改

  4. 开放性

    遵循世界标准规范,实现软硬件兼容,方便实现互连

(三)、操作系统的作用

  1. 作为用户与计算机硬件系统之间的接口

    用户使用计算机,通过命令方式、系统调用方式、图形窗口方式实现与操作系统的通信。

  2. 作为系统资源的管理者

    四类资源:处理机、存储器、I/O设备、文件;OS功能:分配和控制处理机;内存分配;I/O设备的分配回收和操作;实现对文件的存取、共享和保护。

  3. 实现对计算机资源的抽象(作为扩充机器)

    把覆盖了软件的机器称为扩充机器或虚机器,OS包含了若干个层次,因此在裸机上覆盖OS后,便可获得一台功能显著增强,使用极为方便的多层扩充机器或多层虚机器

二、发展过程

(一)、人工操作方式(无操作系统)

缺点: 用户独占全机,造成资源浪费;CPU空闲,I/O设备的慢速与CPU的速度不匹配造成的CPU空闲等待时间,严重降低了计算机资源的利用率。

(二)、脱机I/O方式

脱离主机的情况下输入输出程序和数据

联机输入/输出(On-Line I/O)方式 :在主机的直接控制下输入输出程序和数据

优点:减少了CPU空闲时间,提高了I/O速度

(三)、单道批处理系统

特点:

  1. 作业(步)间不需要人的干预;
  2. 监控程序常驻内存,开机后第一个进入内存,直到关机一直驻留在内存中;
  3. 专职操作员,程序员不在现场;
  4. 单道;监控程序只为一个计算机系统设计;
  5. 开发过程可以使用FORTRAN等高级语言,程序的最后一条指令需是返回到监控程序。

优缺点:

  1. 解决人机矛盾
  2. 解决CPU和I/O设备速度不匹配的矛盾
  3. 系统运行效率提高
  4. 系统资源得不到充分的利用,会造成CPU空闲
  5. 人机交互力不强

(四)、多道批处理系统

多道程序设计技术:在内存中放多道程序,使它们在管理程序的控制下相互穿插地运行。

宏观上并行:同时有多道程序在内存运行,某一时间段上,各道程序不同程度地向前推进。

微观上串行:任一时刻最多只有一道作业占用CPU,多道程序交替使用CPU 。

优缺点:

  1. 资源利用率高 资源指CPU及设备。

  2. 系统吞吐量大

    系统吞吐量指系统在单位时间完成的总工作量。

  3. 平均周转时间长

    作业的周转时间是指从作业进入系统开始,直至其完成并退出系统为止所经历的时间。

  4. 无交互能力

(五)、分时系统

​ 分时系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过自己的键盘,以交互的方式使用计算机,共享主机中的资源。

​ 实现人机交互是即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理。

​ 及时接收(多路卡和缓冲区)

​ 及时处理(作业直接进内存,采用轮转运行方式,不允许一个作业长期占用处理机)

特征:

  1. 多路性:允许同一主机联接多台终端。
  2. 独立性:每一用户各占一个终端。
  3. 及时性:用户请求能及时响应。
  4. 交互性:可进行广泛的人机对话。

(六)、实时系统

​ 指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。

  1. 按实时任务是否呈现周期性分:

    1. 周期性实时任务

    2. 非周期性实时任务

      1. 开始截止时间

      2. 完成截止时间

  2. 按对截止时间的要求分:
    1. 硬实时任务
    2. 软实时任务

实时系统的特征:

  1. 多路性
  2. 独立性
  3. 及时性(开始截止时间/完成截止时间)
  4. 交互性(限定专用服务程序)
  5. 可靠性(多级容错措施)

单道批处理系统主要是解决人机矛盾和CPU与I/O设备速度不匹配的毛寸,用于提高系统资源利用率和系统吞吐量。

多道批处理系统主要是为了提高系统资源利用率和系统吞吐量。

分时系统满足用户对人—-机交互的需求,人机交互,共享主机。

实时系统:系统能及时响应外部事件的请求,在规定时间内完成对事件的处理,并控制所有史诗任务协调一致的运行。

三、基本特征

四大特性:共享、并发、虚拟、异步

(一)、并发

  1. 区分下并发、并行、串行的概念

    并发:指在内存中放多道作业,在一个时间段上看,每一道作业都能不同程度地向前推进。但在任何一个时间点上只能有一道占用CPU。两个或多个作业在同一时间段运行。

    并行:两个或多个作业在同一个时间点运行。

    串行:内存中只有一道作业,只有它完成了,才能有别的作业进入内存。

  2. 进程

    程序实际上不是并发执行的,我们需要为程序创建进程,才能并发执行。

作用:提高资源利用率和系统吞吐量。

(二)、共享

共享是指系统中的资源课共多个并发的进程共同使用。

两种资源共享方式:

  1. 互斥共享方式

    在一段时间内仅允许一个进程访问资源(把这种资源成为临界资源/独占资源)

  2. 同时访问方式

    一段时间内允许多个进程访问,但微观交替使用。

注意:共享和并发是多用户os的两个最基本的条件,它们互相依存,互为条件。

(三)、虚拟——–提高资源利用率

​ 通过某种技术将一个物理实体映射为若干个逻辑上对应物。

两种技术:

  1. 时分复用技术

    利用某设备为一进程服务的空闲时间,去服务其它进程。

  2. 空分复用技术

    对存储空间的管理,利用存储器的空闲空间分区存放和运行其它的多道程序

(四)、异步

进程以不可预知的运行速度向前推进。现代操作系统中,多个进程并发执行,“走走停停”,无法预知每个进程的运行推进快慢。难以重现系统在某个时刻的状态(包括重现运行中的错误)。

四、主要功能

(一)、处理机管理

  1. 进程控制

    为作业创建进程、撤销(终止)已结束的进程、实现进程在运行过程中的状态切换。

    目的:保证程序并发执行

  2. 进程同步

    目的:协调多个进程的运行

    协调方式:

    1. 进程互斥方式

      进程访问临界资源/锁

    2. 进程同步方式

      进程相互合作/顺序

  3. 进程通信

    目的:用于相互合作的进程之间的信息交换和传递

  4. 调度

    1. 作业调度

      从后备队列中按照一定算法,选择出若干个作业,为他们分配必需的资源,建立进程,并按一定算法将他们插入就绪队列。

    2. 进程调度

      从就绪队列中选一道进程,为他分配处理机,设置运行现场,以使其运行。

(二)、存储器管理

  1. 内存分配

    任务:

    1. 为每道作业分配内存空间
    2. 提高存储器的利用率,提高内存利用率,减少不可用的内存空间
    3. 允许正在执行的进程动态申请附加内存

    两种分配:

    1. 静态分配
    2. 动态分配

    需要具有的功能和结构:

    1. 内存分配数据结构
    2. 分配算法
    3. 内存回收
  2. 地址映射

    地址空间的逻辑地址转换为内存空间的物理地址的过程

  3. 存储保护

    任务:

    1. 确保多道程序间仅在自己的内存空间运行,互不干扰

    2. 不允许用户程序访问操作系统或者其他程序的数据,

    简单的内存保护机制:界限寄存器,存放执行程序的上下界,程序执行的时候,检查界限,如果越界,发出越界中断,停止该程序执行。

  4. 存储扩充

    目的:借助虚拟存储技术,从逻辑上扩充内存容量,改善系统性能,满足用户需求。也就是用辅存扩充主存,实现虚拟存储器。

    实现方法:

    1. 请求调入功能

      允许装入一部分程序和数据就可以运行,运行时,若发现继续运行所需的程序和数据不在内存,再向OS发出请求,将其调入。

    2. 置换功能

      将内存中暂时用不到的或者不用的程序或数据调至硬盘上,将我们所需的数据或程序装入内存。

(三)、设备管理

主要任务:

  1. 完成用户进程提出的I/O请求,为用户进程分配相应的I/O设备,和完成I/O操作
  2. 提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备

应具有的功能:

  1. 设备分配

    根据用户进程的I/O请求和系统现有的资源情况按照某种设备分配策略,为进程分配所需的设备。可能还需要分配设备控制器和I/O通道。

  2. 设备驱动

    为设备提供驱动程序,以实现CPU和设备控制器之间的通信。

    两种:

    1. 接收发出的I/O命令
    2. 响应中断请求
  3. 缓冲管理

    为设备提供缓冲区以缓和CPU同设备的I/O速度不匹配的矛盾。

    缓冲机制———–单缓冲区、双缓冲区、循环缓冲区、公共缓冲池  

  4. 设备独立性和虚拟设备

(四)、文件系统管理

三个功能:

  1. 文件存储空间管理

    为每个文件分配必要的外存空间、提高外存利用率、有助于提高文件系统的运行速度。

    需具备的对存储空间进行分配和回收的功能

  2. 目录管理

    建立目录项,组成目录文件,按名存取,方便用户找到他所需的文件;

    多级目录管理还允许重名; 

    可以实现文件共享。

  3. 文件的读写管理和存取控制

    防止文件被非法使用。

(五)、用户接口

  1. 命令接口

    分联机用户接口与脱机用户接口;

    为了便于用户直接或间接地控制自己的作业。

  2. 程序接口

    为用户程序在执行中访问系统资源而设置的。由一组系统调用组成。     

  3. 图形接口

    通过图形界面来方便用户的操作

五、杂项

  1. 传统的操作系统结构分为无结构OS、模块化结构OS、分层式结构OS

    1. 无结构OS——-基于功能实现和高效率。

    2. 模块化结构OS—-控制软件的复杂度

      模块独立性:划分和规定好木块之间的接口,我们需要良好的分配模块的大小

      衡量模块独立性的标准:

      1. 内聚性:模块内部个部分件联系的紧密程度,内聚性越高,独立性越强
      2. 耦合度:模块间相互联系和相互影响的程度,耦合度越低,独立性越强。

      模块化结构OS的优缺点:

      1. 优点
        1. 提高OS设计的正确性、可理解性和可维护性
        2. 增强了OS的可适应性
        3. 加速OS的开发过程
      2. 缺点
        1. 设计师对模块划分与接口的规定不精确
        2. 模块化见存在复杂依赖关系
    3. 分层式结构OS—每一层仅使用其底层所提供的功能和服务

      设计需考虑的因素:

      1. 程序嵌套
      2. 运行频率
      3. 公共模块
      4. 用户接口

      优缺点:易于保证系统的可靠性、易扩充和易维护;系统效率低下。

  2. 现代化的微内核OS结构

    精心设计的、能实现现代OS核心功能的小型内核,它与一般OS不同,更小更精练,运行于核心态、开机后常驻内存。

    基本特征:

    1. 以微内核为OS核心
    2. 以客户/服务器为基础
    3. 采用面向对象的程序设计方法

(七)、习题

1. 推动多道批处理系统形成和发展的主要动力是什么?

答:提高资源利用率和系统吞吐量。

2. 什么是脱机I/O和联机I/O?

答:脱机I/O是指输入输出不受主机的直接控制(使用外围机,在外围机上输入输出),联机是指在主机的直接控制下进行输入和输出

3. 操作系统的作用

答:作为用户和计算机硬件系统之间的接口、作为计算机系统资源的管理者、实现对计算机资源的抽象

4. 操作系统的基本特征

答:共享、并发、异步、虚拟

5. 微内核OS的优点和为什么有这样的优点?

答:优点–提高系统可扩展性、增强系统可靠性、可移植性强、提供对分布式系统的支持、融入了面对对象技术。

原因:微内核OS是建立在模块化、层次化结构的基础上,采用了客户/服务器模式和面对对象的程序设计技术

猜你喜欢

转载自blog.csdn.net/jun8148/article/details/80845174
os