操作系统简介

第一章 操作系统简介

什么是操作系统

操作系统的定义

操作系统(Opearting System, OS)是一种复杂的 系统软件,是不同 程序代码、数据结构、数据初始化文件 的集合,可执行。

用户与硬件之间的接口

操作系统屏蔽了对硬件操作的细节,提供了计算机用户与计算机硬件之间的 接口,并且通过这个接口使 应用程序 的开发变得简单、高效。

操作系统必须完成的 目标

  1. 操作系统 与硬件部分相互作用
  2. 为运行在计算机上的 应用程序提供执行环境

接口:硬件接口(USB接口) + 软件接口(C语言的 printf()

资源的管理者

现代计算机系统的一个重要特点就是支持 多任务,即允许在同一个系统内同时驻留多个应用程序。

操作系统是资源的管理者。包括:

  1. 处理机管理:决定把处理机先给哪个程序用,后给哪个程序用(CPU);
  2. 内存管理(存储管理):给程序分配内存空间(运行内存);
  3. 设备管理:完成怎么分配设备,分配给哪台设备,怎么和设备连接等(输入|输出设备,如:键盘、鼠标);
  4. 文件管理:为每个文件分配空间、建立目录,将数据写入外存(磁盘);

操作系统的发展

操作系统的 发展

  1. 无操作系统
  2. 单道 批处理系统;
  3. 多道程序系统:多道 批处理系统、分时 操作系统;
  4. 实时 操作系统;
  5. 微机 操作系统;

单道批处理系统

单道批处理系统 内存中只有一道作业,CPU和内存资源被用户作业 独占

单道批处理系统.png

单道批处理系统的 特点

  1. 自动性;
  2. 顺序性;
  3. 单道性;

单道批处理系统的 优点:减少了等待 人工操作 的时间。

单道批处理系统的 缺点CPU资源 不能得到充分利用。

多道批处理系统

由操作系统的 作业调度程序 按一定策略从 后备作业队列 中选择 若干 个工作调入内存,使它们共享CPU和系统中的各种资源。

多道批处理系统.png

多道批处理系统的 特点

  1. 调度性:进程调度、作业调度;
  2. 无序性;
  3. 多道性;
  4. 复杂性;

多道批处理系统的 优点:提高了 CPU、内存和IO设备 的利用率和系统的 吞吐量

多道批处理系统的 缺点

  1. 系统 平均周转时间 长;
  2. 缺乏 交互功能

分时操作系统

允许 多个用户 通过终端机 同时使用 计算机,每个用户通过终端与主机交互时都能得到 快速响应

分时操作系统.png

分时操作系统的 特点

  1. 多路性;
  2. 独立性;
  3. 及时性;
  4. 交互性;

分时操作系统的 优点:向用户提供了 人机交互的方便性,使多个用户可以通过不同的终端 共享主机

补充:原理上是将一个时间间隔内进行切片,每个应用程序在每个切片内多次执行

实时操作系统

实时系统必须 及时响应 外部事件的请求,在规定时间内完成对该事件的处理。主要用于 实时控制实时信息处理 领域。

实时计算的正确性不仅依赖于系统计算的 逻辑结果,还依赖于产生正确结果的 时间

实时操作系统的 特点

  1. 多路性;
  2. 独立性;
  3. 及时性;
  4. 交互性;
  5. 可靠性;

交互性:仅限于访问系统某些特定的专用服务程序。

操作系统的特征

现代操作系统支持 多任务,具有以下特性:

  1. 并发:两个或多个事件在 同一时间间隔 内发生;
  2. 共享:系统中的 资源 可供内存中 多个 并发执行的进程 共同使用
  3. 虚拟:最常用 内存虚拟化,用户感觉到的内存大于实际内存;
  4. 异步性:进程以 不可预知的速度 向前推进;

并发与共享的关系是 相互依赖 的。

扩展知识点

并行:两个或多个事件 同时 发生。

互斥共享:任意 时刻 一种资源只能被一个进程访问。

同时共享:从 宏观 上看,资源可以被多个进程同时访问。

内存虚拟化:将 物理(内存条) 变成 逻辑(运行内存) 的过程。

操作系统的功能

操作系统的功能有 内存管理、进程管理、设备管理、文件管理提供用户接口 等功能。

内存管理

内存管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用内存,提高 内存的利用率,以及从 逻辑上扩充内存 以实现 虚拟存储

内存管理的内容:内存分配、内存保护、地址映射、内存扩容

内存分配

静态分配:先把内存划分成大小数量 固定 的区域,大小数量 不再变化

动态分配:根据进程实际请求分配内存,大小数量 动态变化

内存保护

内存保护的 主要任务

  1. 使操作系统 内核的空间 不被用户随意访问,保证系统的安全和稳定;
  2. 确保 每道用户程序 都在 自己的内存空间 中运行,互不干扰;
内存保护.png

地址映射

逻辑地址 映射为 物理地址 的过程。

地址映射.png

内存扩充

虚拟技术:从 逻辑 上扩充内存容量,使系统能够向用户提供比物理内存大的存储容量。

内存置换.png
请求调入.png

进程管理

进程管理的 内容

  1. 进程的描述与组织;
  2. 进程控制;
  3. 进程同步;
  4. 进程通信;
  5. 进程调度;

设备管理

设备管理主要完成用户的 I/O请求,为用户 分配I/O设备

设备管理的 功能

  1. 缓存管理;
  2. 设备分配;
  3. 设备处理;
  4. 设备独立性和虚拟设备;

文件管理

文件管理 功能

  1. 文件存储空间的管理:为每个文件分配必要的 外存空间,提高 外存的利用率,并能有助于提高 文件访问的速度
  2. 目录管理:建立 目录项,并对众多目录项进行有效组织。目录项包括:文件名、属性、大小、地址等;
  3. 文件的读、写管理和存取控制:根据用户的请求,从外存中读取数据将数据写入外存。防止未经审核的用户进行文件的操作;

提供用户接口

用户接口的 分类

  1. 命令接口;
  2. 图形用户接口;
  3. 程序接口;

命令接口

命令接口的 目的:为了便于用户与计算机系统的交互。

命令接口的 分类联机 用户接口和 脱机 用户接口。

联机:命令接口由一组 键盘操作命令命令解释程序 组成。

脱机:为批处理作业的用户提供,也称为 批处理用户接口

图形用户接口

用户可以轻松地通过 选择窗口、菜单、对话框、滚动图、图标等 简单的操作来完成对作业和任务的提交和控制。

程序接口

向程序员提供应用操作与操作系统之间的接口,就是 系统调用

操作系统的体系结构

操作系统的体系结构是操作系统作为一种 软件 的体系结构,对操作系统的可靠性、灵活性和可移植性等方面有重要影响。

操作系统的体系结构的 发展

简单的监控程序模型

功能简陋,任意时刻系统中只能运行一个任务,保证了对系统信息的互斥访问,保护了系统数据的安全。

单体结构模型

所有的软件和数据结构都放置在一个逻辑模块中,对外层的用户程序提供一个完整的内核界面。

例子:unix、mx-dos、linux、macos、bsd

层次结构模型

基本思想是 将操作系统分解为多个小的、容易理解的层,系统功能被隔离在不同层中。

客户/服务器模型与微内核结构

核心思想是 核心功能外移,即把 传统操作系统内核中 的一些组成部门放到内核之外作为一个独立的服务器进程来实现:

  1. 出去:文件系统、网络和驱动程序;
  2. 保留:处理机调度、存储管理和消息通信;

例子:windows NT、COS-IX V2.3、Vxworks

动态可扩展结构

基本思想就是在运行过程中,能够 动态地实现 系统行为扩展的结构,也可称之为 弹性结构

指令的执行

程序是指令的集合,程序的执行就是按照某种控制流执行指令的过程。

指令周期

一个 单一指令 需要的 处理 称为 指令周期

一个指令周期可以划分为两个步骤,分别是 取指周期执行周期

指令周期.png

程序计数器(PC)保存有 下一次 要取的指令的 地址

取到 的指令被放置在 处理器指令寄存器(IR)中。

取指令和执行指令

指令中包含确定处理器要采取动作的位,处理器解释指令并执行要求的动作

指令组成.png

这些动作可分为:

  1. 处理器与存储器 之间的 指令或数据传送 操作;
  2. 处理器与I/O设备 之间的 指令或数据传送 操作;
  3. 算术运算 操作或 逻辑运算 操作;
  4. 控制 操作,即 修改指令的执行顺序 的操作;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容