zoukankan      html  css  js  c++  java
  • 第一章、操作系统基本简介

    第一章、操作系统基本简介

    1.1 操作系统的目标和作用

    操作系统目标

    • 方便性
    • 有效性:提供系统资源利用率;提高系统吞吐量。
    • 可扩充性
    • 开发性

    操作系统的作用

    • 作为用户与计算机硬件系统之间的接口
    • 作为计算机系统资源的管理者
    • 实现了对计算机资源的抽象

    操作系统的主要工作

    • 执行程序
    • 为用户提供良好的界面
    • 管理整个系统的各种资源
    • 计算机系统的效率和安全问题

    1.2 操作系统的发展过程

    总括

    未配置操作系统的计算机系统--->单道批处理系统-->多道批处理系统-->分时系统-->实时系统-->微机操作系统的发展

    1.2.1 未配置操作系统的计算机系统

    • 人工操作方式。

      • 早期的操作方式是由程序员将事先已经穿孔的纸带装入纸带输入机,然后启动他们将纸带上的程序和数据输入计算机,然后启动计算机运行。
      • 仅当程序运行完并取走计算结果之后,才允许下一个用户上机。
      • 缺点:
        • 用户独占全机。
        • CPU等待人工操作。在用户进行装带、卸带时,CPU以及内存是空闲的。
    • 脱机输入、输出方式

      • 概念:为了解决人机矛盾以及CPU和I/O设备之间速度不匹配问题,就产生了脱机I/O技术。该技术是事先将用户程序和数据的纸带装入纸带输入机,在另一台外围机的控制下,把数据输入到磁带上。当CPU需要这些程序和数据时,再从磁带上高速地调入内存。由于程序的输入输出都是在外围机的控制下完成,或者说他们都是脱离主机的情况下进行的,所以称为脱机输入/输出方式。反之把主机直接控制下进行的输入/输出方式称为联机输入/输出方式。
      • 优点
        • 减少了CPU空闲等待时间。因为装带卸带都是在脱机情况下完成的,此时不需要占用主机时间,从而有效地减少了CPU的空闲时间。
        • 提高了I/O读写速度。CPU需要数据时直接从高速的磁带读取,因此极大提高了I/O速度。

    1.2.2 单道批处理系统

    • 单道批处理系统的处理过程:

      先将一批作业以脱机方式输入到磁带上,并在系统中配上监督程序,在它的控制下,是这批作业能一个接一个连续处理。处理过程是:首先由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业;当改作业完成时,归还控制权,监督程序将第二个作业调如内存,知道所有处理完成。这样便形成了早期的批处理系统。
      虽然系统对作业的处理是成批进行的,但是内存中只保持一道作业,故称单道批处理系统。

    • 缺点
      系统资源得不到充分利用

      [alt 只看上边那个]
      内存中仅有一道程序,每逢程序运行中发出I/O请求时,CPU便处理等待状态,必须在I/O完成后才能继续运行。又因为I/O设备的低速性,更使CPU的利用率显著降低。
      从图片a可以看出,t2---t3、t6---t7时间间隔内CPU空闲。

    1.2.3 多道批处理系统

    • 基本概念
      在多道批处理系统中,用户所提交的作业先放到外村上,并排成一个队列,称为“后备队列”。然后由作业调度程序按照一定的算法,从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的资源。由于同时在内存中装有若干道程序,这样便可以在运行A时,例如其因I/O操作而暂停执行时CPU的空档时间,再调度另一个程序B执行,同样利用B的I/O操作而暂停执行CPU空档时间去调度程序C运行,使多道程序交替运行,这样便可以保持CPU处于忙碌状态。
      就像上图的b(四道程序运行情况)

    • 多地批处理系统优缺点

      • 优点
        • 资源利用率高
        • 系统吞吐量大。能提高系统吞吐量的主要原因是:CPU和其他资源保持忙碌状态;仅当作业完成时或运行不下去时才进行切换,系统开销小。
      • 缺点
        • 平均周转时间长。由于作业要排队依次进行处理,因而作业的周转时间较长。
        • 无交互能力。一旦作业交给系统,直到作业完成,否则无法与作业进行交互,修改和调试不方便。
    • 多道批处理系统需要解决的问题

    • 处理机争用问题

    • 内存分配和保护问题

    • I/O设备分配问题

    • 文件的组织和管理问题

    • 用户与系统的接口问题
      为了解决这些问题,就产生了操作系统。
      操作系统是一组能够有效地组织和管理计算机硬件和软件资源,合理地把各类作业进行调度,以及方便用户使用的程序的集合。

    1.2.4 分时系统

    • 概念:在一台主机上连接了多个配有显示器和键盘的终端并由此组成的系统,就是分时系统。该系统允许多个用户同时通过自己的终端,以交互的方式使用计算机,共享主机中的资源。

    • 分时系统实现中的关键问题

    • 及时接收。要做到及时接收多个用户键入的命令,只需要在系统中配置一个多路卡即可。多路卡的作用是实现分时多路复用。即主机周期性扫描各终端,用于接收终端发来的数据。为了能使从终端输入的数据被依次地进行处理,还需要为每个终端配置一个缓冲区,用来暂时存储用户键入的命令或数据。

    • 及时处理。为了实现人机交互,必须使用下面的运行方式:

      • 作业直接进入内存。因为作业在磁盘上是不能运行的,所以作业应直接进入内存。
      • 采用轮转运行方式。时间片:就是一段很短的时间。系统规定每个作业每次只能运行一个时间片,然后暂停该作业的运行,并立即调度下一个作业运行。
    • 分时系统的特征

    • 多路性

    • 独立性。每个用户在自己终端使用,互不影响。

    • 及时性。用户能在很短时间内得到相应。

    • 交互性

    1.2.5 实时系统

    • 概念:实时系统是指系统能够及时响应外部事件的请求,在规定的时间内完成该事件的处理,并控制所有实时任务协调一致地运行。
    • 实时系统类型
    • 工业(武装)控制系统
    • 信息查询系统
    • 多媒体系统
    • 嵌入式系统
    • 实时任务的类型
    • 周期性实时任务和非周期性实时任务。周期性是指:某任务按照指定周期循环执行。非周期是指:实时任务没有明显周期性,但是必须有一个最后期限。分为开始截止时间:指某任务在某时间以前必须开始执行;完成截止时间:指某任务在某时间以前必须完成。
    • 硬实时任务和软实时任务。
      * 硬实时任务:是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的后果。
      * 软实时任务:也有时间要求,但是不严格。就算错过了时间,影响也不会太大。

    1.2.6 微机操作系统的发展

    • 单用户单任务操作系统。例如MS-DOS和CP/M
    • 单用户多任务操作系统。如Windows.
    • 多用户多任务操作提供。如UNIX(Solaris OS 和Linux OS)

    1.3操作系统的基本特性

    操作系统共同具有并发、共享、虚拟和异步四个基本特征。

    1.3.1 并发(Concurrence)

    • 并发和并行
      • 并行:指两个或者多个时间在同一时刻发生。
      • 并发:指两个或多个事件在同一个时间间隔内发生。
    • 引入进程
      在引入进程前,同属于一个应用的计算程序和I/O程序只能顺序执行。两者不能同时执行。但是在为计算程序和I/O程序分别建立一个进程(Process)后,这两个进程便可并发执行。
      所谓进程:是指在系统中能独立运行并作为资源分配的基本单位,它由一组机器指令、数据和堆栈等组成,是一个能独立运行的活动实体。多个进程之间可以并发执行和交换信息。

    1.3.2 共享(Share)

    • OS环境下资源共享或者称为资源复用的概念:系统中的资源可供内存中多个并发执行的进程共同使用。主要实现资源共享的方式有两种:
      * 互斥共享方式
      比如打印机,虽然可以提供给多个进程使用,但是规定的时间内,只允许一个进程访问该资源。因此建立一种机制:保证多个进程对这类资源互斥访问。
      A在使用,B请求访问就需要等待。只有A用完了释放了之后B再使用。这类资源称为临界资源(独占资源)。系统中大多物理设备,以及栈、变量和表哥,都属于临界资源,都只能互斥共享。
      * 同时访问方式
      允许在一段时间内由多个进程“同时”访问。其实也是交替执行。

    1.3.3虚拟(Vitrual)

    • 概念:把通过某种技术将一个屋里实体变为若干个逻辑上对应物的功能称为虚拟。
    • 时分复用技术和空分复用技术
    • 它利用某设备为一用户服务的空闲时间,又转去为其他用户服务,是设备得到最充分的利用。
      • 虚拟处理机技术
      • 虚拟设备技术
    • 空分复用技术

    1.3.4异步(Asynchronism)

    由于程序需要的计算时间和I/O时间不同,所以可能先进入内存的作业后完成,后进入内存的作业先完成。或者说进程是以人们不可预知的速度向前推进,此即进程的异步性。

    1.4操作系统的主要功能

    处理机管理、存储器管理、设备管理和文件管理等基本功能。

    1.4.1 处理机管理功能

    处理机的分配和运行都是以进程为基本单位,因而对处理机的管理可归纳为对进程的管理。

    • 进程控制。
      为作业创建进程、撤销进程,以及控制进程在运行过程中的状态转换。
    • 进程同步
      多个进程有条不紊地运行,必须有相应的进程同步机制。该机制主要任务是多个进程的运算进行协调。常用的协调方式有:
      • 进程互斥方式:指诸进程在对临界资源方式时,应采用互斥方式。
      • 进程同步方式:指相互合作区完成共同任务的多个进程间,由同步机构对他们执行次序加以协调。最简单的就是对临界资源加锁。
    • 进程通信
    • 调度
    • 作业调度
    • 进程调度

    1.4.2 存储器管理功能

    • 内存分配
      OS实现内存分配时,可采取静态和动态两种分配方式:
      • 静态分配:作业装入时确定分配内存大小,执行过程中不允许申请新的内存空间。
      • 动态分配:基本空间也是装入时确定,但可以申请附加空间。
    • 内存保护
    • 地址映射
      能够将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。
    • 内存扩充

    1.4.3 设备管理功能

    • 缓冲管理
    • 设备分配
    • 设备处理

    1.4.4 文件管理功能

    • 文件存储空间的管理
    • 目录管理
    • 文件的读写管理和保护

    1.4.5 操作系统与用户之间的接口

    • 用户接口
    • 程序接口

    1.5 OS结构设计

    不同的操作系统有不同的结构

    1.5.1 客户/服务器模式(C/S模式)简介

    组成

    客户/服务器系统主要由三部分组成:

    • 客户机
    • 服务器
    • 网络系统:用于连接所有的客户机和服务器,实现他们之间通信和网络资源共享。

    客户/服务器之间的交互

    一次完整的交互过程分四步:

    • 客户发送请求消息
    • 服务器接收消息
    • 服务器回送消息
    • 客户机接收消息

    客户/服务器模式优点 :

    • 数据的分布处理和存储
    • 便于集中管理
    • 灵活性和可扩充性
    • 易于改编应用软件。

    缺点:

    • 存在着不可靠性
      *存在瓶颈问题。
  • 相关阅读:
    Python爬虫连载9-JS加密之“盐”​、ajax请求
    Java连载86-List集合详解
    HTML连载69-透视属性以及其他属性练习
    Java连载85-集合的Contains和Remove方法
    Python爬虫连载8-JS加密(一)
    Java连载84-Collection的常用方法、迭代器
    HTML连载68-形变中心点、形变中心轴
    Java连载83-单向链表、双向链表、collections常用方法
    [刷题] 447 Number of Boomerangs
    [刷题] 454 4Sum II
  • 原文地址:https://www.cnblogs.com/zhanggui/p/4715196.html
Copyright © 2011-2022 走看看