当前位置: 首页 > news >正文

【操作系统】基本概念 解析+思维导图(特征、概念、功能)并发 共享 虚拟 异步

1.操作系统基本概念

  • 思维导图

1.1 概念和功能

  • 概念

    操作系统(Operating System,OS)

    1.操作系统是系统资源的管理者:

    ​ 操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理组织调度计算机的工作和资源分配。

    2.向上层提供方便易用的服务:

    ​ 以便给用户和其他软件方便的接口和环境。

    3.是最接近硬件的一层软件:

    ​ 它是计算机系统中最基本的系统软件。

  • 操作系统的目标和功能

    1.操作系统作为计算机资源的管理者

    (1)处理机管理

    ​ 处理机的分配和运行都以进程(或线程为基本单位),

    ​ 因而,对处理机的管理可归纳为对进程的管理。

    (2)存储器管理

    ​ 给多道程序的运行提供良好环境,方便用户使用及提高内存的利用率。

    (3)文件管理

    ​ 计算机中的信息都以文件形式存在,负责文件管理的部分称为文件系统。

    (4)设备管理

    ​ 主要任务是完成用户的I/O请求,方便用户使用各种设备。

    2.操作系统作为用户与计算机硬件系统间的接口

    (1)命令接口

    ​ 用户利用这些操作命令来组织和控制作业的执行。

    ​ 使用命令接口进行作业的两种方式:联机控制方式、脱机控制方式。

    ​ 按作业控制方式不同,分 联机命令接口、脱机命令接口。

    ​ a.联机命令接口 又称交互命令接口:

    ​ 适用于分时或实时系统的接口。说一句做一句。

    ​ b.脱机命令接口 又称批处理命令接口:

    ​ 适用于批处理系统。说一堆做一堆。

    (2)程序接口

    ​ 程序接口由一组系统调用(也称广义指令)组成。

    ​ 用户通过在程序中使用这些系统调用来请求操作系统为其提供服务。

    3.操作系统实现了对计算机资源的扩充

    裸机:没有软件支持的计算机。

    操作系统所提供的资源管理功能和方便用户的各种服务功能,使裸机更加强大。

    通常把覆盖了软件的机器成为扩充机器,又称为虚拟机

1.2 特征

  • 并发

    • 定义:

    并发是指系统具有同时进行运算或操作的特性。并发性是操作系统最基本的特性。

    注:并发是宏观上同时,微观上交替。而并行是同时。

    如:

    在这里插入图片描述

    • 重点:

    单核CPU同一时刻只能执行一个程序,各个程序只能并发执行。

    多核CPU同一时刻可同时执行多个程序,多个程序可以并行执行。

  • 共享

    • 定义:

      即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。

    • 分类:

      1.互斥共享方式

      ​ 一段时间只允许一个进程访问资源。

      2.同时共享方式

      ​ 一段时间可多个进程同时对它们进行访问。

    • 并发和共享的关系:互为存在条件

      1.资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则不存在资源共享问题;

      2.若系统不能对资源共享实施有效管理,则会影响到程序的并发执行,设置无法执行

  • 虚拟

    • 定义:

    把一个物理上的实体变成若干个逻辑上的对应物。物理实体实际存在,逻辑对应物是用户感受到的。

    采用虚拟存储技术,将一台机器的物理存储器变成虚拟存储器,以便从逻辑上扩充存储器的容量。

    微观上看:处理机在各个微小时间段交替为各个进程服务。

    • 分类

    1.空分复用技术

    虚拟存储器

    2.时分复用技术

    虚拟处理机

    • 如果没有并发性,就谈不上虚拟性。
  • 异步

    • 定义:

      多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知速度前进。

    • 如果失去并发性,系统只能串行运行程序,那每个程序只会一贯到底。

      只有系统拥有并发性,才会导致异步性。

相关文章:

  • 手写tomcat(Ⅲ)——tomcat动态资源的获取
  • Linux Crontab:看完这篇,还有啥不懂的吗
  • KuberSphere 安装kubernates
  • 若依框架对于后端返回异常后怎么处理?
  • 栈的实现(C语言)
  • C++:STL简介和容器string用法篇
  • Java中的序列化
  • 科林Linux6_网络
  • 机器人物理引擎
  • Slash后台管理系统源码阅读笔记 后面面板中的折线图统计卡片是怎么实现的?
  • Linux 基本使用和 web 程序部署云端
  • 【Linux】Ubuntu系统挂载NAS文件夹
  • 问题排查复盘
  • C++第十九弹---string模拟实现(下)
  • Python语法(全)
  • hexo+github搭建个人博客
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • codis proxy处理流程
  • Docker: 容器互访的三种方式
  • Flannel解读
  • happypack两次报错的问题
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 闭包--闭包作用之保存(一)
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 记录一下第一次使用npm
  • 你不可错过的前端面试题(一)
  • 区块链将重新定义世界
  • 手写双向链表LinkedList的几个常用功能
  • 转载:[译] 内容加速黑科技趣谈
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #include<初见C语言之指针(5)>
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (4)logging(日志模块)
  • (zhuan) 一些RL的文献(及笔记)
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (十) 初识 Docker file
  • (四)图像的%2线性拉伸
  • (算法)Game
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • ***检测工具之RKHunter AIDE
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET 发展历程
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .NET8使用VS2022打包Docker镜像
  • .NET学习教程二——.net基础定义+VS常用设置
  • .net与java建立WebService再互相调用
  • @JoinTable会自动删除关联表的数据
  • @vue-office/excel 解决移动端预览excel文件触发软键盘
  • [2016.7 day.5] T2
  • [20170705]lsnrctl status LISTENER_SCAN1