【操作系统笔记】第一章

来源:互联网 发布:新的邮政软件 编辑:程序博客网 时间:2024/05/19 16:32

操作系统第一章

资料来源:《计算机操作系统 第四版》 汤小丹版本
操作系统课程 国家级精品课 电子科技大

操作系统概念引入

定义:

操作系统——是逻辑上的第一层软件,它是对硬件系统功能的首次扩充,是填补人与机器之间的鸿沟

操作系统:

时计算机系统中的一个系统软件管理和控制计算机系统中的硬件和软件资源,合理地组织计算机的工作流程,以便有效利用这些资源为用户提供一个功能强、使用方便的工作环境,从而在计算机与用户之间起到接口的作用

这里写图片描述

软件的分类:

  1. 应用软件
    1. 系统软件

对操作系统的认识:

一. 从用户的观点来看操作系统

  • 虚拟机的观点:

    操作系统是建立在计算机硬件平台上的虚拟机器,它为应用软件提供了许多比计算机硬件功能更强或计算机硬件所没有的功能。(比方说,操作系统让大的任务,分成一块一块,放在小的内存中,分批处理。用户是无感知的)

    操作系统在虚拟机中充当管理员和协调员的角色,管理计算机的软硬件资源,并协调多任务、多进程的运行。

    扩充:功能、计算机数量

  • 用户环境的观点

    计算机用户使用计算机提供的用户接口

    计算机用户:终端用户、程序员。

如何实现?

用户接口

命令接口:
用户可通过该接口向作业发出命令以控制作业的运行。可分为联机用户接口和脱机用户接口。

联机用户接口:这是为连接用户提供的,它由一组键盘操作命令及命令解释程序所组成
(用户和计算机联系起来控制——所以叫联机用户接口——一个命令一个命令输入)

- 字符形式:灵活但是难记- 菜单形式- 图形形式

脱机用户接口:
批处理接口。

用户用jcl把需要对作业进行的控制和干预,实现写在作业说明书上,然后将作业联通作业说明书一起提交给系统。当系统调度到该作业时,在调用命令解释程序,对作业说明书上的命令,逐条地解释执行。

(比方说.config文件——所有的命令建一个文件)
程序接口
  • 程序接口

    又叫程序编程接口。

    • 该接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径。

    • 他是由一组系统调用组成的,每一个系统调用都是一个能完成特定功能的子程序,每当应用程序要求os提供某种服务(功能)时,便调用具有相应功能的系统调用。

    • 不同的系统其调用形式不同

二. 是从系统设计者(系统分析员)的观点来看操作系统

  • 资源管理的观点

    该观点认为,操作系统时计算机系统中各类资源的管理者,他负责分配、回收以及控制系统中各种软硬件资源

    1. 监视资源
    2. 分配/回收资源
    3. 保护资源

    根据自愿的使用状况、满足资源请求、提高资源利用率,以及协调各程序和用户对资源的使用冲突。
    资源类型:
    这里写图片描述

  • 作业(任务)组织的观点

    该观点认为,操作系统时计算机系统工作流程的组织者,他负责协调在系统中运行的各个应用软件的运行次序。

    用于巨型机和大型服务器上,以批文件方式提交作业,请求主机逐个运行

    主机操作系统负责组织、协调各个作业的运行,报告执行结果或错误信息。

    减少了人工干预

操作系统的主要功能:

进程管理

进程管理(处理机管理):按照一定的算法把处理机分配给进程(线程),并对其进行有效的管理和控制

  1. 进程控制:进程控制的主要功能是为作业创建进程、撤销已结束的进程,以及控制进程在运行过程中的状态转换(在整个过程的执行过程中还要监管)

  2. 进程的同步:是为多个进程的运行进行协调

    • 两种协调方式:

      进程互斥方式:这时址诸进程(线程)在对临界资源(一次只能提供一个资源占用的资源)进行访问时,应采用互斥方式;

      进程同步方式:指进程相互合作区完成共同的任务时,诸进程之间的协调

      • 实现进程同步采用信号量机制

3.进程通信——是进程之间的信息交换

当相互合作的进程(线程)处于同一计算机系统时,通常在他们之间时采用直接通信方式,即由源进程利用发送命令直接将信息(message)挂到目标进程的消息队列上,以后由目标进程利用接受命令从其消息队列中取出消息

4.进程调度——是从进程的就绪队列中,按照一定的算法,选出一新进程,把处理机分配给它,使进程投入执行。

存储器管理

主要任务:

为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的绿用率以及能冲逻辑上扩充内存

存储器管理功能:

1. 内存分配
  • 静态分配方式:每个作业运行之前分配好内存空间,在作业的整个运行期间不再改变。
  • 动态分配方式:每个作业子运行前或运行中,均可申请新的附加内存空间,以适应程序和数据的动态增长。
内存分配的机制中的结构和功能
  1. 内存分配的数据结构,该结构用语记录内存空间的使用情况(存储控制块——通过数据结构描述那块占了那块没占。)
  2. 内存分配功能——为用户程序分配内存空间
  3. 内存回收功能——当用户不再需要的内存时,系统回收内存的功能
2.内存保护

保证每个程序都只在自己的内存空间内运行,彼此互不干扰。

实现的技术:

界限寄存器(软件检查):记下了某个程序的起始位置和结束位置。方式一:访问一个地址,如果在起始位置和结束位置之间,你这个程序就可以访问这个地址。方式二:或者起始位置知道了,这个程序的尺寸知道了,也可以控制。

越界检查都有硬件支撑。

3. 地址映射
地址空间:

目标程序或装入程序限定的空间,称为”地址空间“。但愿的编号称为逻辑地址,又称为相对地址(相对0而言)。

内存空间:

由内存中的一系列单元所限定的地址范围称为”内存空间“,其中的地址称为”物理地址“

地址映射:

运行时,将地址空间中的逻辑地址转换为内存空间中与之对应的无力地址,称为地址映射。

这里写图片描述

4. 内存扩充
借助于虚拟存储技术

从逻辑上区扩充内存容量,使用户所感觉到的内存容量比实际内存容量大的多。

扩充内存必须具有内存扩充机制
  1. 请求调入功能。在程序运行过程中,若所需的程序和数据尚未装入内存,可由os从磁盘中将所需部分调入内存,继续运行。
  2. 置换功能。将内存中的一部分暂时不用的程序和数据调出道磁盘上,然后将所需调入的部分装入内存。

————实现小空间运行大程序

设备管理

主要任务:

是完成用户进程提出的i/o请求;为用户进程分配其所需的I/O设备;提高cpu和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。

设备管理具有的功能:

1. 设备处理程序(设备驱动程序)

基本任务:用于实现cpu和设备控制器之间的通信,即由cpu向设备控制器发出i/o命令,要求他完成制定的i/o操作。

2. 设备分配:

基本任务:是根据用户进程的i/o请求,按照某种设备分配策略,位置分配其所需的设备,不同的设备类型(独占、共享)而采用不同的设备分配方式。

3.缓冲管理

有效滴缓和cpu和i/o设备速度不匹配的矛盾,不同的

文件管理

主要任务:

是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。

文件管理的主要功能

1.文件存储空间的管理:

是对诸多文件及文件的存储空间,实施统一的管理。基于数据结构(mcb)对存储空间进行分配和回收的功能。

2.目录管理:

为每个文件简历目录项,并对众多的目录项加一有效的组织与管理(例如,按名存取,文件共享)

3.文件的读/写管理和保护
  1. 文件的读/写管理:是根据用户的请求,从外存中读取数据或将数据写入外存
  2. 文件保护

作业管理

操作系统的安全

这里写图片描述

操作系统的基本特征:

  1. 并发
  2. 共享
  3. 虚拟
  4. 不确定性

并发是最重要的特征,其他特性都以并发为前提

没有并发,哪来共享(大家执行,存在共享)空间不够怎么办?需要虚拟。当前到底哪一个任务在执行?所以以不确定的方式在执行。

所以,并发誓最重要的特征。

并发:

并发——并行性和并发性,并发执行的过程

  • 并行性是指两个或多个时间在同一时刻发生

    两个任务总有某一时刻在同时发生(cpu角度)
    这里写图片描述

  • 并发性是指两个或多个时间在同一时间间隔内发生

    在cpu来看,两个任务是交替进行的,但是在大一点的宏观角度看,他们是在一段时间内发生的,在这个时间段内是同时发生的

这里写图片描述

任务共行

  • 从宏观上看,任务共性是指系统中有多个任务同时运行

  • 从微观上看,任务共性是指单处理机系统中的任务并发( Task Concurrency:即多个任务在单个处理机上交替运行)或多处理机系统中的任务并行(Task Parallelism:即多个任务在多个处理机上同时运行)

共享

所谓共享是指系统中的资源可供内存中多个并发执行的进程共同使用。

1. 互斥共享方式

  • 把一段时间内只允许一个进程访问的资源,称为临界资源。
  • 系统中临界资源可以提供给多个进程使用,但一次仅允许一个进程使用,称为互斥共享方式。

2.同时使用的方式

  • 从宏观上看,资源共享是指多个任务可以同时使用系统中的软硬件资源
  • 从微观上看,资源共享是指多个任务可以交替互斥地使用系统中的某个资源,例如磁盘。

虚拟

所谓虚拟是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。

  • 虚拟处理机:分时实现
  • 虚拟设备:spooling技术(比如打印机)
  • 虚拟存储器:虚拟存储管理实现(小空间运行大程序)

不确定性:

  1. 执行结果的不确定性(如何保证一致性就成了问题)
  2. 异步性——是指进程以异步的方式执行,进程是以人们不可预知的速度向前推进。

操作系统的发展

一、单道批处理系统

  1. 在内存中仅存一道作业运行,其他任务都在磁盘上,运行结束或出错,才调用另一道作业运行
  2. 单道批处理系统主要特征:自动性、顺序性、单道性。
  3. 单道批处理系统主要优点:减少人工操作,解决了作业的自动接续
  4. 单道批处理系统主要缺点:平均周转时间长,没有交互能力

二、多道批处理系统

  • 多道程序的概念:

    在内存中存放多道作业运行,运行结束或出错,自动调度内存中的另一道作业运行。

  • 多道程序带来的好处:

    1. 提高cpu的利用率
    2. 提高内存和I/O设备屡用屡
    3. 增加系统吞吐率
  • 主要特征:多道性,无序性,调度性(进程调度和作业调度)

  • 多道处理的主要优点:提高了资源利用率和吞吐能力
  • 多道批处理的主要缺点:平均周转时间长,没有交互能力

  • 单道和多道的比较

这里写图片描述

三、分时操作系统

一、 产生:

用户需要:人机交互、共享主机、便于用户上机

分时系统人是可以交互的。用户之间不影响。

二、 分时系统的实现方法

简单分时系统

这里写图片描述执行一个时间片后,停下来,再来下一个程序,再执行一个时间片,再来下一个程序。。。所有的程序都没有结束。又开始从头来。

具有“前台”和“后台”的分时系统(通用操作系统)

在前台的作业仍然是按照分时执行。在a调出b掉进的时候,cpu空间,这时候执行后台的作业。将c开始执行
。虽然c开始在执行,b的优先级高,只要前台有作业,就执行前台,c停止了。但是c还贮存在内存中,又开始调度作业的空隙时,c又开始执行了。

感觉后台作业就跟狗一样。。。人不要了过来叼一口。。。

对于前台:安时间片执行
对于后台:在内存中按照批处理

这里写图片描述

多道分时系统

这里写图片描述

三、 分时系统的特征:

  • 多路性:多个用户分时使用一台计算机
  • 独立性:独立运行,不混淆,不破坏
  • 及时性:系统能在很短的时间内得到回答
  • 交互性:能实现人机对话

五、 影响响应时间的若干因素

简单分时系统

用户按照时间片进入的:
Ti(响应时间) =NQ+To.s +Twasp

N:用户数

Q:时间片

To.s:系统开销——管理时间——恢复环境的时间——改不了

Twap:信息交换时间——程序掉进调出的时间

  • 改善影响时间的方法:

    采用重入码减少信息的对换量

    采用虚拟存储技术,减少信息对换量

你这换的少啦,时间就能成倍所见

四、实时系统

定义:

所谓实时系统:是计算机及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有事实设备和实施任务协调一致的运行。

分类:——主要考虑响应时间——发出请求 立即响应

实时控制系统(硬)
实时信息处理系统(软)

eg:
导弹发送系统

实时系统与分时系统特征的比较

  1. 多路性:能对多个对象进行控制
  2. 独立性:信息采集和对对象的控制也都是彼此互不干扰的。
  3. 及时性:信息查询系统对实时性的要求是依据人所能接受的等待时间确定的。二多媒体系统实时性的要求是,播放出来的音乐和电视能令人满意。实时控制系统的实时性则是以控制对象所要求的截止时间来确定的,一般为秒级到毫秒级

  4. 交互性:优先交互,交互太多会影响进度

  5. 可靠性:高可靠,还有过载防护能力——双机热备份

操作系统结构

1、模块化os 结构

  • 使用分块结构的系统包含若干module(模块);其中,每一块实现一组基本概念一起与其相关的基本属性
  • 块一块之间的相互联系:
    所有各块的实现均可以任意引用其他各块所提供的概念及属性

优缺点:

优点:
  1. 提高了os设计的正确性、可理解性和可维护性
  2. 增强了os的可适应性
  3. 加速了os的开发过程
缺点:
  1. 对模块的划分及对接口的规定要精确描述很困难
  2. 从功能观点来划模块时,未能将共享资源噩耗独占资源加以区别

2、分层式

使用分层结构包含若干layer(层);其中,每一层实现一组基本概念以及与其相关的基本属性

  • 层一层之间的相互关系
    1. 所有各层的实现不依赖其以上各层所提供的概念及其属性,只依赖其直接下层所提供的概念及属性
    2. 每一层均对其上各层隐瞒其下各层的存在

bois:基本输入输出系统——硬件
dos:单任务单用户的系统——很多都是对磁盘的操作。对上提供程序接口,对下层依赖模块调用
command:用户的命令

常见os总体结构

原创粉丝点击