操作系统-概述

概述

计算机组成

4783d9362285a8e044c3d181c1154aed.png

操作系统定义

  • 引入

    • 操作系统是什么?解释:操作系统扮演了底层硬件和应用程序(用户)的中间角色

    • 为什么要引入操作系统?解释:提供给用户一种==高效便捷==执行程序的方式

      -> 不使用操作系统的话,所有的应用软件就会直接在硬件上运行,无论是在编写,运行,移植等方面都有非常多的不方便

  • 完整定义:

    • 向下管理计算机硬件资源 -> 自底向上
    • 向上提供用户所需要的服务 -> 自顶向下
    • 管理分配计算机资源
    • 控制相互竞争的程序正确执行
    • 运行在==内核态==下的==程序集合==
  • 目的:提供给用户一种 高效便捷 利用硬件资源执行程序的方式

  • 细节

    1. 操作系统是计算机中最基本的软件

    2. 内核和操作系统:

    3. 运行机制:

      • 内核态(特权模式,系统模式,监视模式):操作系统运行在内核态
      • 用户态:系统程序和应用程序都运行在用户态
      • 注:(1) 操作系统采用一个比特位来表示 内核态(0)用户态(1) (2) 应用程序或者系统程序执行 系统调用 或者 陷入指令
    4. 程序分类:(1) 操作系统 (2) 系统程序 (3) 应用程序

操作系统组成部分

进程管理

  • 进程定义:==正在执行的程序==

  • 进程管理任务

    • 进程的 创建删除
    • 进程的 停止恢复
    • 进程的 同步通信
    • 进程的 调度
    • 进程的 死锁 处理
  • 细节:

存储管理

主存管理

  • 主存定义:具有巨大容量的字节数组,每个字节都具有 ==绝对地址==

  • 主存管理任务

    • 记录某块内存地址正在被谁使用
    • 决定哪些进程会调入或者调出内存
    • 分配和释放内存空间
  • 细节:

二级存储管理

  • 二级存储管理任务
    • 空闲内存管理
    • 存储分配:如何为文件分配合适的存储空间
    • 硬盘调度(长期调度)

文件管理

  • 引入:

    • 每种二级存储介质(硬盘,光盘,磁带)都具有自己独特的组织结构和特点
    • 每种存储介质的底层异构性导致操作系统并不方便直接管理这些硬件
    • 操作系统需要提供一种统一的抽象接口屏蔽底层的异构性,对存储介质进行统一的管理
  • 文件定义:创建者定义的一系列相关数据的集合

  • 文件管理任务:

    • 文件的创建和删除(.jpg,.png…)
    • 目录的创建和删除(java.lang)
    • 支持使用 ==源语== 操作文件和目录
    • 支持文件 ==映射== 到二级存储设备中
    • 提供文件备份机制
  • 细节:

    • 映射:文件管理的目的是为了统一管理不同的存储介质 -> 每个文件需要对应的存储介质中的存储内容
    • 备份机制:存储介质本身是 ==不可靠== 的 -> 文件管理需要保证文件的安全性

I/O 管理

  • I/O 管理任务

    • 提供 ==缓冲缓存系统== :==协调== 不同的 I/O 设备之间的读写速率

      解释:不同的 I/O 设备的读写速率相差较大

    • 提供 I/O 设备 ==驱动程序接口==

安全机制

命令行解释程序

  • 定义:获取用户输入的相关命令并且使用 系统程序 或者 系统调用 提供相关的服务

    注:命令行的实现不一定会使用系统调用

  • 命令行程序的实现方式:

    • 选择在操作系统 ==内核== 中实现 (系统调用实现)
    • 选择作为 ==系统程序== 实现
  • 命令的实现方式:

  • 细节:

    1. 命令行解释程序在操作系统启动的时候 ==伴随启动==
    2. 命令行解释程序也称为 Shell
      • Windows:Powershell
      • Linux & UNIX:C shell Kornshell
      • 每个操作系统可以拥有多个命令行解释程序;也可以使用第三方设计的命令行解释程序(Windows Terminal)

操作系统服务

  • 用户界面:

    • 命令行界面:每条指令依次执行
    • 批处理界面:多条命令汇编成文件执行
    • 图形用户界面
  • 程序执行:程序可以被加载到内存中被调度执行以及正常结束

  • I/O 操作:程序运行需要使用 I/O 设备获取相应的资源

  • 文件操作:程序运行需要对文件进行读写操作

  • 通信:多个进程之间需要交换信息

  • 错误检测:硬件故障,程序出错等错误都需要被检测并纠正

  • 资源分配:每个用户和进程都需要根据需求分配相应的资源

  • 统计信息:统计每个用户和进程使用的资源类型和数量

  • 保护机制:保证每个用户和进程的访问是可控的

1183697fe3f8607eb44539036f38b07f.png
Author: Fuyusakaiori
Link: http://example.com/2021/09/11/os/overview/概述/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.