操作系统第一章--操作系统概述

526 阅读5分钟

一、牵扯到的6个问题

  1. 什么是操作系统
  2. 操作系统的功能
  3. 操作系统的特征
  4. 操作系统是怎么发展过来的
  5. 操作系统的运行机制
  6. 操作系统的结构是怎样设计的

二、什么是操作系统

1. 什么是操作系统?

操作系统

操作系统是管理计算机硬件和软件资源的计算机程序。操作系统是软件。

image-20221228082557091

系统构成

计算机系统的构成?

  • 用户
  • 应用程序
  • 操作系统
  • 硬件

image-20221228214946007

主要目标

操作系统OS是一种系统软件(主要作用):

  • 管理和配置内存
  • 决定系统资源供需的优先次序
  • 控制输入输出设备
  • 操作网络与管理文件系统等基本实务
  • 提供一个让用户与系统交互的操作界面

2. 操作系统的目标和功能

目标

image-20221228214923909

功能

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

image-20221228214858862

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

image-20221228214837404

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

image-20221228193653598

3. 操作系统的特征

操作系统特征有四个:

  • 并发:同一时间间隔内执行和调度多个程序的能力
    • 宏观上,处理机同时执行多道程序
    • 微观上,处理机在多道程序间高速切换(分时交替执行)
    • 关注单个处理机同一时间段内处理任务数量的能力
    • 并行和并发:并行是同一时刻发生,并发是同一个时间间隔发生
  • 共享:资源共享,的、系统中的资源供多个“并发执行”的应用程序共同使用
    • 同时访问方式:同一时段允许多个程序同时访问共享资源
    • 互斥共享方式:独占式,允许多个程序在同一个共享资源上独立而互不干扰的工作
  • 虚拟:使用某种技术把一个物理实体变成多个逻辑上的对应物
    • 时分复用技术:虚拟处理机技术,虚拟设备技术
    • 空分复用技术:虚拟磁盘技术,虚拟存储器技术
  • 异步:多道程序环境允许多个程序并发执行;单处理机环境下多个程序分时交替执行
    • 程序执行存在不可知性
      • 获得运行的时机
      • 因何而停
      • 每道程序需要多久
      • 不同程序的性能,比如计算多少,I/O多少

image-20221228194937693

并发和共享互为存在条件:也就是多个人多个商品才有这样的条件

  • 共享性要求OS中同时运行着多道程序,如果只有单道程序正在运行,则不存在共享的可能
  • 并发性难以避免的导致多道程序同时访问同一个资源,如果多道程序无法共享部分资源,则无法并发

二、操作系统的发展与分类

1. 操作系统的发展

  • 手工操作阶段
    • 人工操作方式
    • 脱机输入/输出方式
  • 批处理阶段
    • 单道批处理系统
    • 多道批处理系统

image-20221228214811200

  • 分时操作系统
  • 实时操作系统
  • 微机操作系统

image-20221228214738793

三、操作系统运行环境

1. 操作系统的运行机制

基本概念

  • 内核程序<---->应用程序
  • 核心态<---->用户态
  • 特权指令<---->非特权指令

image-20221228214713265

执行内核空间的指令叫特权指令;非特权指令是用户空间的指令。

时钟管理

计时:提供系统时间;

时钟中断:比如进程切换;

中断机制

时钟中断机制是为了提高多道程序环境下CPU利用率。

外中断:中断信号来源于->外部设备(别的设备要求该程序中断,属于被迫中断)

内中断:中断信号来源于->当前指令(程序内部出了问题造成中断)

内中断的三种情况

  • 陷阱、陷入:由应用程序主动引发

image-20221228214443951

  • 故障:由错误条件引发

image-20221228214652730

  • 终止:由致命错误引发

中断处理过程:

image-20221228215406797

原语

原语是一个程序段,由若干条指令组成,用来完成某个特定的功能,执行过程不会被中断(具有原子性)。

系统控制的数据结构及处理

  • 进程管理:作业控制块、进程控制块

  • 存储器管理:存储器分配与回收

  • 设备管理:缓冲区、设备控制块

系统调用

由操作系统实现,给应用程序调用,是一套接口的集合,应用程序访问内核服务的方式。

image-20221228220846749

2. 操作系统结构

传统的操作系统结构(大内核)

第一代:无结构OS

一系列过程(程序)的集合,过程间可以相互调用;结构复杂且混乱,难以调试、阅读和维护。

image-20221228221653481

第二代:模块化结构OS:模块-接口法OS

  • 基于“分解”和“模块化”原则
  • 按照功能划分模块/子模块,规定模块间的接口
  • 模块独立性标准,高内聚、低耦合

image-20221228221927106

第三代:分层式结构OS

有序分层法,自顶向下依次依赖,设计时,自底向上,每一步建立在可靠的基础上。

image-20221228222428634

微内核OS结构

第四代:微内核OS结构

微内核:足够小的内核,只实现了核心功能,与硬件处理紧密相关的部分,比如硬件处理、客户端和服务器通信和其他的基本功能。使用“机制与策略分离”的原理,才用面向对象技术。