• 操作系统的基本概念


    一、操作系统的概念

    1.什么是操作系统?

    操作系统(Operation System),简称OS,是管理计算机 【硬件】 与 【软件】 资源的计 算机程序。
    计算机系统的发展

    2 计算机系统的构成

    • 用户
    • 应用程序
    • 操作系统(OS)
    • 硬件(裸机)

    操作系统向上管理软件,向下管理硬件,并向用户提供访问访问方式(接口),操作系统向应用程序也提供了接口,在计算机系统中起到了承上启下的作用
    计算机系统架构图

    3 系统软件的概念

    OS是一种【系统软件】

    • 与硬件交互
    • 对资源共享进行调度
    • 解决并发操作处理中存在协调问题
    • 数据结构复杂,外部接口多样化,便于用户反复使用

    4 操作系统的主要作用

    作为【系统软件】,OS做了哪些事

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

    二、操作系统目标和功能

    1. 目标

    1.1 有效性

    管理系统资源

    • 提高系统资源利用率
    • 提高系统的吞吐量

    1.2 方便性

    方便用户使用

    1.3 可扩充性

    作为扩充机器
    兼容硬件升级与扩充

    1.4 开放性

    支持软件获取和调用系统资源
    兼容不同的软件硬件标准

    2. 功能

    2.1 作为系统资源的管理者

    1) 处理机(处理器)管理

    • 进程控制
    • 进程同步
    • 进程通信
    • 调度

    2) 存储器管理

    • 内存分配
    • 内存保护
    • 地址映射
    • 内存扩充

    3) I/O设备管理

    • 缓冲管理
    • 设备分配
    • 设备处理

    4) 文件管理

    • 文件存储空间的管理
    • 目录管理
    • 文件读/写管理和保护

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

    • 程序接口(应用程序访问操作系统的接口,操作系统再去访问硬件)
    • 命令接口(用户可以直接使用命令操作操作系统)
    • GUI(Graphical User Interface),图形用户接口

    2.3 实现了最计算机资源的抽象

    • 将具体的计算机硬件资源抽象成软件资源,方便用户使用
    • 开放了简单的访问方式,隐藏了实现细节
      • 举例:使用浏览器进行搜索
        使用浏览器进行搜索的过程
      • 操作系统同时也对软件提供了简单的访问接口

    三、操作系统的特征

    操作系统四大基本特征

    • 并发
    • 共享
    • 虚拟
    • 异步

    其中的关系图如下
    并发、共享、虚拟、异步的关系图

    1. OS的并发性(Concurrence)

    • 同一时间内执行和调度多个程序的能力
      • 宏观上,处理机同时执行多道程序
      • 微观上,处理机在多道程序之间高速切换(分时交替执行)
      • 关注单个处理机同一时间段内处理任务数量的能力

    相似概念:并行

    • 并发: 同一时间间隔内(时间段)发生的事件数量
      • 例如:午餐时段,学校餐厅用餐总人数为12人
    • 并行:同一时刻(时间点)发生的事件数量
      • 例如:同一时间点,学校餐厅最多并行3人打餐

    并发和并行都可以提高系统的吞吐量,但是并发还可以提高系统资源利用率,通过后期优化调度算法可以提高系统的并发能力,进而使系统资源利用率进一步提高,可以在不加大硬件投入的情况下提高系统性能,所以大部分场景下并发能力更加重要,而对于计算密集型任务来说,每个任务都会长时间占用单个处理机,并且也没有什么算法优化的余地,这种情况下想要提高系统总体的性能,就需要去添加物理机硬件

    2. OS的共享性(Sharing)

    即资源共享,系统中的资源供多个【并发执行】的应用程序共同使用

    • 同时访问方式:同一时段允许多个程序同时访问共享资源
    • 互斥共享方式:也叫独占式,允许多个程序在同一个共享资源上独立工作而互不干扰的方式

    共享设备:共享打印机、音频设备、视频设备

    并发和共享互为存在条件

    • 共享性要求OS中同时运行着多道程序

      • 若只有单道程序正在运行,则不存在共享的可能
    • 并发性难以避免的导致多道程序同时访问同一个资源

      • 若多道程序无法共享部分资源(比如磁盘),则无法并发

      并发共享关系图

    3. OS的虚拟技术(Virtual)

    使用某种技术把一个物理实体变成多个逻辑上的对应物

    • 时分复用技术(TDM,Time Division Multiplexing)
      • 虚拟处理机技术:“四核八线程”
      • 虚拟设备技术:虚拟打印机
    • 空分复用技术(SDM:Space Division Multiplexing)
      • 虚拟磁盘技术:将一个硬盘虚拟出若干个卷
      • 虚拟存储器技术

    4. OS的异步性(Asynchronism)

    多道程序环境下,允许多个程序并发执行
    单处理机环境下,多个程序分时交替执行

    • 程序执行的不可预知性
      • 获得运行的时机
      • 因何暂停
      • 每道程序需要多少时间
      • 不同程序的性能,比如计算多少,I/O多少
    • 宏观上“一气呵成”,微观上“走走停停”
  • 相关阅读:
    开源.NetCore通用工具库Xmtool使用连载 - XML操作篇
    C_平均数_猴子吃桃问题
    JavaFX Scene Builder 3D 控件详解
    vue用户点击后下载前端项目中的文件
    面向切面:AOP
    【MySQL】函数
    Vue中的动态组件和缓存组件
    HMI-Board之LVGL应用
    SpringBoot--中间件技术-3:整合mongodb,整合ElasticSearch,附案例含代码(简单易懂)
    【K哥爬虫普法】网盘用的好,“艳照门”跑不了
  • 原文地址:https://blog.csdn.net/qq_34912889/article/details/125825460