操作系统定义

操作系统:是管理计算机系统资源、控制程序执行、改善人机界面和为应用软件提供支持的一种系统软件

多道程序设计:

现代操作系统一般都采用多道程序设计技术,其基本思想是在主存中同时存放多个用户的作业,使之同时处于运行状态而共享系统资源。

多道程序设计——多个程序同时进入主存并发执行。

操作系统的作用

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

  • OS是一个系统软件,因而这种接口是软件接口

OS作为计算机系统资源的管理者

OS的主要功能为:

  • 处理机管理:用于分配和控制处理机;
  • 存储器管理:主要负责内存的分配与回收;
  • I/O设备管理:负责I/O设备的分配与操纵;
  • 文件管理:负责文件的存取、共享和保护。可见,OS确是计算机系统资源的管理者。

OS实现了对计算机资源的抽象

  • 通常把覆盖了软件的机器称为扩充机器或虚机器。

操作系统的基本特性

并发

  • 并行性:指两个或多个事件在同一时刻发生
  • 并发性:指两个或多个事件在同一时间间隔内发生
    • 在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。

共享

  • 共享的概念:指系统中的资源,可供内存中多个并发执行的进程(线程)共同使用 。
  • 进程对资源共享的方式:
    • 互斥共享:当某一进程访问完并释放该资源后,才允许另一进程进行访问。这种资源称为临界资源或独占资源,如打印机;
    • 同时共享:允许在一段时间内由多个进程同时访问,如磁盘设备

虚拟

定义

  • 操作系统中的所谓“虚拟”,是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。
  • 在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存(设置:我的电脑、属性、高级、性能选项)、 虚拟外部设备(虚拟光驱、盘符D:等)和虚拟信道等。

OS中采用的2种虚拟技术

  • 时分复用技术 -多设备分时使用物理设备
    • 利用该技术可以实现虚拟处理机、虚拟设备等,以提高资源利用率
    • 虚拟处理机:是通过多道程序设计技术,让多道程序并发执行的方法,来分时使用一台处理机的。
    • 虚拟设备技术:将一台物理I/O设备虚拟为多台逻辑上的I/O设备。 如虚拟打印机。
  • 空分复用技术
    • 利用该技术可以实现虚拟磁盘技术、虚拟存储器技术等,以提高存储空间利用率
    • 虚拟磁盘技术:一个硬盘划分为1、2、3、4四个卷,分别安装在C、D、E、F四个逻辑驱动器上,成为四个虚拟磁盘。
    • 虚拟存储器技术:一个100M的程序可以运行在20M的内存空间

异步性

  • 在多道程序环境下,允许多个进程并发执行。使进程的执行是以“走走停停”的方式运行;
  • 进程的异步性: 每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定和不可预知的。进程是以人们不可预知的速度向前推进

操作系统结构设计

  • 第一代:无结构OS;
  • 第二代:模块化结构OS;
  • 分层式操作系统;

模块化结构OS

  • 模块之间直接调用函数,除了函数调用的开销外,没有额外开销
  • 庞大的操作系统有数以千计的函数

微内核(Micro Kelnel)结构OS -现代结构

微内核技术

  • 微内核技术: 指精心设计的、能实现现代OS核心功能的小型内核,它与一般的OS(程序)不同,它更小更精炼,它不仅运行在核心态,而且开机后常驻内存

  • 微内核并非是一个完整的OS, 而只是为构建通用OS提供一个重要基础。在微内核OS结构中,通常都采用了客户/服务器模式

  • 优缺点

    • 内核与各个服务器之间通过通信机制进行交互,这使得微内核结构的效率大打折扣
    • 因为各个服务器模块的相对独立性,使得其维护相对容易。

客户/服务器模式

客户/服务器系统主要由客户机服务器网络系统三个部分组成。

  • 客户机:平时处理本地业务,也可发送一个消息给服务器,以请求某项服务
  • 服务器:通常是一台规模较大的机器,在其上驻留有网络文件系统或数据库系统等,为用户提供多种服务。

面向对象的程序设计技术

  • 在OS中的各类实体如进程、线程、消息、存储器和文件等,都使用了对象这一概念,相应地,便有了进程对象、线程对象、存储器对象和文件对象等
  • 操作系统是一个极其复杂的大型软件系统,面向对象技术被广泛应用于现代操作系统的设计中。

微内核的基本功能

通常都是一些最基本的功能:

  • 进程(线程)管理。
  • 低级存储器管理。
  • 中断和陷入处理。
    将OS中最基本的部分放入内核中,而把OS的绝大部分功能放在微内核**外面的一组服务器(进程)**中实现。

微内核操作系统存在的问题

微内核OS的运行效率有所降低:
会引起更多的上下文切换。例如某个服务器自身尚无能力完成客户请求,而需其它服务器帮助时,如图1-11中所示,其中的文件服务器还需要磁盘服务器的帮助,这时就需要进行八次上下文的切换。