操作系统第一章——概论

操作系统的目标与作用

  1. 目标:方便性,有效性,可扩充性,开放性
  2. 作用
    a. 作为用户与计算机硬件系统之间的接口
    b. 作为计算机资源的管理者
    c. 实现了对计算机资源的抽象
  3. 推动操作系统发展的主要动力
    1. 不断提高计算机资源的利用率
    2. 方便用户
    3. 器件的不断更新换代
    4. 计算机体系结构的不断发展
    5. 不断提出新的应用需求

操作系统的发展过程

  1. 未配置操作系统的计算机系统:人工操作(人机矛盾非常严重,互相等待),脱机输入输出方式(减少cpu空闲,提高了I/O)
  2. 单批道处理系统:监督程序控制,作业一个接一个连续处理,不需要人工,所以主要矛盾是CPU与I/O之间的矛盾,CPU一段时间只能处理一个作业
  3. 多道批处理系统:多个作业共享CPU,当A程序等待I/O时,B程序开始运行,充分利用了CPU,资源利用率显著提高,吞吐量变大,但平均周转时间长,无交互能力。多道批处理系统需要解决的问题:处理机争用问题,内存分配和保护问题,I/O设备分配问题,文件的组织和管理问题,作业管理问题,用户与系统的接口问题
  4. 分时系统:人机交互,多用户共享主机
    1. 及时接收:用多路卡快速扫描各个终端,读取指令,终端配置缓冲区来缓存指令
    2. 及时处理:每个用户的作业都放在内存里,采用时间片轮转方式避免某一个任务长时间占用CPU
    3. 特点:多路性,独立性,及时性,交互性
  5. 实时系统:周期性实时任务和非周期性实时任务,硬实时任务和软实时任务。特点:多路性,独立性,及时性,交互性,可靠性
  6. 微机操作系统:微型机上的操作系统

操作系统特性

  1. 并发
    并发在多道中在一段时间内有多个程序宏观上同时运行,单道中程序还是轮流运行的,另外并行指同一时刻执行。程序时静态实体,不能并发执行,为了使多个程序并发执行,引入了进程,为了进一步提高系统的并发性,引入了线程。
  2. 共享
    1. 互斥共享方式:只允许一个进程访问该资源
    2. 同时访问方式:同时还是宏观意义上的,微观上还是多个进程轮流访问资源
  3. 虚拟
    通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能称为“虚拟”。
    1. 时分复用技术:利用某设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用。
      1. 虚拟处理机技术:利用多到程序设计技术,为每道程序建立至少一个进程,让多道程序并发执行。可将一台物理上的处理机虚拟为多台逻辑上的处理机,在每台逻辑上的处理机上运行一道程序。
      2. 虚拟设备技术:将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备。是原来允许在一段时间内由一个用户访问的设备(临界资源),变为允许多个用户“同时”访问的共享设备,既宏观上能同时为多个用户服务。
    2. 空分复用技术:利用存储器的空闲空间分区域存放和运行其他的多道程序,以此来提高内存的利用率。如果需要逻辑上扩大存储器容量,还需要虚拟存储技术才能达到此目的,虚拟存储技术的本质上是实现内存的分时复用,它可以通过分时复用内存的方式,使一道程序仅在远小于它的内存空间中运行。置换功能每隔一段时间就将运行好的部分置换出去。
  4. 异步
    由于资源等因素的限制,使的进程的执行通常都不可能“一气呵成”,而是以停停走走的方式执行。每个程序何时运行,何时运行完成,都是不可预知的。进程以人们不可预知的速度向前推进,为进程的异步性。但在操作系统中配置进程同步机制,且运行环境相同,作业即便经过多次执行,也会获得完全相同的结果。所以异步运行方式是可以的,而且是操作系统的一个重要特性。

操作系统的主要功能

引入操作系统的主要目的是,为多道程序的运行提供良好的运行环境,以保证多道程序能够有条不紊的,高效的运行,并能最大程度的提高系统中各种资源的利用率,方便用户的使用。

传统操作系统中应具有处理机管理,存储器管理,设备管理和文件管理功能,还需向用户提供方便的用户接口。

  1. 处理机管理功能
    处理机的分配和运行都是以进程为基本单位的,因而对处理器的管理可以归结为对进程的管理,创建和撤销进程,对诸进程的运行多加协调,实现进程之间信息互换,按照一定算法把处理机分配给进程。
    1. 进程控制:为作业创建进程,撤销已经结束的进程,以及控制进程在运行过程中的状态转换。
    2. 进程同步:为多个进程(含线程)的运行进行协调,进程互斥(对临界资源的访问,应采用互斥方式),进程同步(指在相互合作去完成共同任务的诸进程间,有同步机制对它们的执行次序加以协调),最简单的用于实现进程互斥的机制是为每一个临界资源配置一把锁W,当锁打开是,进程可以对该临界资源进行访问,当锁观上是,禁止进程访问该临界资源。实现进程同步时,最常用的机制是信号量机制。
    3. 进程通信:当一组合作的进程去完成一个共同的任务时,它们需要交换信息,进程通信的任务是实现相互合作进程之间的信息交换,当相互合作的进程处于统一计算机系统时,通常在它们之间采用的直接通信的方式,即由源进程利用发送命令直接将消息挂到目标进程的消息队列上,以后由目标进程利用接收命令从其消息队列中取出消息。
    4. 调度:调度作业分为两步:作业调度和进程调度。作业调度是从后备队列中按照一定算法选择出若干个作业,为它们分配运行时所需的资源,再将这些作业掉入内存后,分别为它们建立进程,是他们都成为可能获得处理机的就绪进程,并将它们插入到就绪队列中。进程调度是从进程的就绪队列中按照一定算法选出一个进程,将处理机分配给它,并为它设置运行现场,使其投入执行。
  2. 存储器管理功能
    存储器管理的主要任务,事务多道程序的运行提供良好的环境,提高存储器的利用率,方便用户使用,并能从逻辑上扩充内存,为此存储器管理应具有内存的分配和回收,内存保护,地址映射和内存扩充等功能。
    1. 内存分配
      1. 为每道程序分配内存空间
      2. 提高存储器利用率,尽量减少不可用的内存空间(碎片)
      3. 允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要
      4. 操作系统在内存分配时,课采用静态和动态两种方式
        1. 静态:每个作业的内存空间是在作业装入时确定的,在作业装入后整个运行期间不允许该作业在申请新的内存空间,也不允许作业在内存中被“移动”
        2. 动态:每个作业锁要求的基本内存空间也是在装入时确定的,但允许作业在运行过程中继续申请新的附加内存空间,以适应程序和数据的动态增长,也允许作业在内存中“移动”
    2. 内存保护
      1. 确保每道用户程序都仅在自己的内存空间内运行,彼此互不干扰
      2. 绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其它用户程序中去执行。
      3. 内存保护机制简单版本实现:设置两个界限寄存器,分别存放正在执行程序的上界和下界,在程序运行时,系统必须对每条指令所要访问的地址进行检查,如果发生越界,便发出越界中断请求,以停止该程序的执行。
    3. 地址映射
      在多道程序环境下,由于每道程序经编译和链接后所形成的可装入程序其地址都是从0开始的,但不可能将它们从“0”地址开始装入内存,致使各程序段的地址空间内的逻辑地址与其在内存空间中的物理地址并不相一致,为保证程序能够正确运行,存储器管理必须提供地址映射功能,即能从地址空间中的逻辑地址转换为内存空间中与之对应的地址,该功能在硬件的支持下完成。
    4. 内存扩充
      内存内存扩充并非是从物理上扩大内存的容量,而是借助于虚拟存储技术,从逻辑上扩充内存容量,是用户所感觉到的内从容量比世纪内存容量大的多,以便让更多的用户程序能并发执行,这样即满足了用户的需要,又改善了系统的性能,为了能在逻辑上扩充内存,系统必须设置内存扩充机制,用于实现下述各功能:
      1. 请求掉入功能:系统允许在仅装入部分用户程序和数据的情况下,便能启动该程序运行,在程序运行过程中,若发现要继续运行时所需的程序和数据尚未装入内存,可向操作系统发出请求,从磁盘中调入内存,以便能继续运行。
      2. 置换功能:若发现在内存中已无足够空间来装入需要调入的程序和数据时,系统应能将内存中的一部分暂时不用的程序和数据调至硬盘上,以腾出内存空间,然后再将所虚调入的部分装入内存。
  3. 设备管理功能
    设备管理的主要功能:1. 完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成制定的I/O操作;2. 提高CPU和I/O设备 的利用率,提高I/O速度,方便用户使用I/O设备
    1. 缓冲管理:I/O设备和CPU之间有缓冲机制,常见的有单缓冲机制,能实现双向透视传送数据的双缓冲机制,能供多个设备同时使用的公用缓冲池机制,上述这些缓冲机制都由操作系统管理
    2. 设备分配:基本任务是根据用户进程的I/O请求,系统现有资源情况以及按照某种设备分配策略,为之分配所需的设备。如果在I/O设备和CPU之间还存着设备控制器和I/O通道,则还需分配出去的设备分配相应的控制器和通道,为实现设备分配,系统中应设置设备控制表,控制器控制表等数据结构,用于记录设备及控制器等的标识符和状态,根据这些表格可以了解指定设备当前是否可用,是否忙碌,以供进行设备分配时参考。
    3. 设备处理:设备处理程序又称为设备驱动程序,其基本任务是用于实现CPU和设备控制器之间的通信,即由CPU向设备控制器发出I/O命令,要求它完成制定的I/O操作,反之,由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理。设备处理过程是:首先检查I/O的合法性,了解设备状态是否是空闲的,读取有关的传递参数及设备的工作方式,然后向设备控制器发出I/O命令,启动I/O设备完成指定的I/O操作。此外,设备驱动程序还应能及时响应由控制器发来的中断请求,并根据该中断请求的类型,调用相应的中断处理程序进行处理,对于设置了通道的计算机系统,设备处理程序还应能根据用户的I/O请求自动的构成通道程序。
  4. 文件管理功能
    文件管理的主要任务是对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性。文件管理应具有对文件存储空间的管理,目录管理,文件的读写管理以及文件的共享和保护功能。
    1. 文件存储空间的管理
      主要任务:为每个文件分配必要的外存空间,提高外存的利用率,进而提高文件系统的存、取速度。
    2. 目录管理
      为每个文件建立一个目录项,包括文件名,文件属性,文件在磁盘上的物理位置等,并对众多的目录项加以有效的组织,以实现方便的按名存取,即用户只需要提供文件名,即可对该文件进行存取,还要实现文件共享,快速的目录查询手段,以提高对文件检索的速度。
    3. 文件的读写管理和保护
      1. 文件的读写管理功能:根据用户需求从外存读取数据,将数据写入外存。在进行文件读写时,系统先根据用户给出的文件名去检索文件目录,从中获得文件在外存中的位置,然后,利用文件读写指针,对文件进行读写。一旦读写完成,便修改读写指针,为下一次读写做好准备,由于读写不会同时进行,故可合用一个读写指针。
      2. 文件保护:威力防止系统中的文件被非法窃取和破坏,在文件系统中必须提供有效的存取控制功能,以实现下述目标:1、防止未经核准的用户存取文件;2、防止冒名顶替存取文件;3、防止以不正确方式使用文件
  5. 操作系统与用户之间的接口
    主要分为两大类:用户接口,程序接口
    1. 用户接口
      1. 联机用户接口:为联机用户准备的,当用户键入命令后,系统开始执行,完成之后返回到控制台或者终端等待下一条命令输入
      2. 脱机用户接口:主要为批处理作业的用户提供,用户用作业控制语言JCL把需要对作业进行的控制和干预命令事先写在作业说明书上,然后将它与作业一起提供给系统,系统在执行时,按照顺序逐条执行
      3. 图形用户接口:图形用户接口采用了图形化的界面和参数,用非常容易识别的各种图标来将系统的各项功能,各种应用程序和文件直观,逼真的表示出来,用户可通过菜单和对话框用移动鼠标选择菜单项的形式取代命令的键入。
    2. 程序接口
      程序接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径,由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序

猜你喜欢

转载自blog.csdn.net/qq_34567015/article/details/82878142