【OS】计算机系统概述|操作系统基本概念|并发|并行|虚拟异步

news2024/12/29 10:00:41


Blog’s 主页: 白乐天_ξ( ✿>◡❛)
🌈 个人Motto:他强任他强,清风拂山冈!
🔥 所属专栏:C++深入学习笔记
💫 欢迎来到我的学习笔记!

前言

一、操作系统的概念

操作系统(Operating System,OS):控制和管理整个计算机系统的硬件与软件资源(OS是系统资源的管理者),合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合(OS向上层提供方便易用的服务)。操作系统是计算机系统中最基本的系统软件(OS是最接近硬件的一层软件)。

画板

二、操作系统的目标和功能

2.1 OS是系统资源的管理者

例如,我们执行一个动作:打开QQ程序程序进行聊天。

  1. 首先通过一层一层的文件夹、目录找到QQ.exe(可执行程序)。这是操作系统的文件管理功能。
  2. 双击运行QQ.exe。执行一个程序之前需要将该程序放在内存中,才能被CPU处理。因此,操作系统需要将该程序相关数据放入内存,这是操作系统的存储器管理功能。
  3. QQ 程序正常运行。对应的进程被处理机(CPU)管理,这是操作系统的处理机管理功能。
  4. QQ进行视频聊天,操作系统为其分配摄像头资源,这是操作系统的设备管理功能。

2.2 OS向上层提供方便易用的服务

2.2.0 图形化界面(GUI)

  • 计算机最底层是纯硬件(裸机),只能听懂机器语言(二进制指令0、1)硬件对外暴露的就是不友好的交互接口。因此我们在其上方安装上操作系统,让它对外提供有好的交互接口。用户的命令经过操作系统传递给硬件。
  • 这就像汽车一样。汽车底层就是一些复杂的硬件、框架,但是对用户提供的是简单医用的刹车、油门、方向盘……用户不需要关心汽车底层是什么。
  • 这就是一种封装思想:操作系统将一些丑陋的硬件功能封装成简单易用的服务,使用户能更加方便地使用计算机。用户无需关心底层硬件原理,只需对操作系统发出命令即可。

  • 操作系统为了实现封装这一功能,提供了图形化界面这一功能。
  • 操作系统向上层提供了两种接口:命令接口和程序接口。

2.2.1 命令接口

  1. 联机命令接口

联机命令接口又叫做交互式命令接口。早期用户使用命令行的方式与操作系统进行交互。后来有了图形化界面(GUI)。打开GUI的方式:win+R输入cmd回车使用命令行操作……简而言之,就是用户说一句系统就做一句

  1. 脱机命令接口

脱机命令借口又叫做批处理命令接口。搜索打开计算机中的***.bat文件(可使用记事本打开),操作系统根据上面罗列的命令开始执行。简而言之,就是用户说一堆系统做一堆

2.2.2 程序接口

  • 操作系统对外还提供了程序接口。可以在系统调用(又称为广义指令)中使用程序接口。普通用户不能直接使用,只能通过程序代码间接使用。
  • 系统调用类似于函数调用,是应用程序请求操作系统服务的唯一方式。
  • 例如:C语言中实现“Hello world!”程序时,在printf()函数底层就使用到了操作系统提供的显示相关的“系统调用”。

画板
狭义的用户接口不包括图形化界面(GUI)。

2.3 OS是最接近硬件的一层软件

没有任何软件支持的计算机成为裸机,它仅仅是计算机系统的物质基础。所以我们需要实现对硬件机器的扩展。

例如:会转的发动机和可以带着会滚的轮子,使原始硬件机器得到扩展。类比:操作系统载着硬件裸机,实现对硬件功能的扩展。通常把覆盖了软件的机器称为扩充机器,又称为虚拟机

三、操作系统的特征⭐⭐⭐⭐

3.1 并发(Concurrence)

  • 并发:是指两个或者多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但是在微观上是交替发生的。(任何时刻都是多项任务
    • 易混淆概念:并行,是指两个或多个事件在同一时刻同时发生。(任何时刻都是一项任务
  • 操作系统的并发性:是指计算机系统“同时”进行着多个程序,这些程序宏观上是同时进行的,微观上是交替进行的。操作系统就是伴随着“多道程序技术”而出现。因此,操作系统和程序并发是一起诞生的
  • 注意:
    • 单核CPU同一时刻只能执行一个程序,各个程序只能并发地进行。
    • 多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行。
    • 比如:Intel第八代i3处理器就是4核CPU,意味着可以并发地执行4个程序
    • 如果它有4个以上的程序需要“同时”执行,那么并发性依然必不可少。因此,并发性是操作系统一个最基本的特征。

3.2 共享(Sharing)

3.2.1 互斥共享方式

  • 系统中的某些资源,虽然可以提供给多个进程使用,但是一个时间段内只允许一个进程访问该资源
  • 例如:QQ视频与微信视频,同一时间段内摄像头只能分配给其中一个进程。

3.2.2 同时共享方式

  • 系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问
  • 例如:使用QQ发送文件A,同时使用微信发送文件B。宏观上,两边都在同时读取发送文件,说明两个进程都在访问硬盘资源,从中读取资源。微观上看,两个进程是交替着访问硬盘的。
  • 并发和共享的关系:互为存在条件。例如:QQ发送文件A,微信发送文件B。
    • 两个进程正在并发执行(并发性);
    • 需要共享访问硬盘资源(共享性)。
      • 如果失去并发性,则系统中只有一个程序正在运行,则共享型失去存在的意义。
      • 如果是去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,就无法并发。
  • 所以:并发与共享互为存在条件。此外,没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征。

3.3 虚拟

虚拟:是指一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。

已知:一个程序需要放入内存并给它分配CPU才能执行。

  • Q:为什么可以在4GB内存的计算机同时执行需要内存为4GB的GTA5、256MB的QQ、256MB的网易云音乐……呢?
    • A:使用了虚拟存储器技术。实际上只有4GB内存(物理上的实体),在用户看来运行这些应用需要大于4GB的内存,似乎只有4GB内存的计算机内存明显不够(用户角度:逻辑上的对应物)。
    • 这就是虚拟技术中的“空分复用技术”
  • Q:为什么单核计算机可以执行多个程序呢?
    • A :使用了虚拟处理器技术。实际上只有一个单核CPU,在用户看来似乎由多个CPU在同时为自己服务。
    • 这就是虚拟技术中的“时分复用技术”微观上处理机各个微小的时间段内交替着为各个进程服务

3.4 异步

异步:在多道程序情况下,允许多个程序并发执行,但是由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。只要运行环境相同,操作系统就须保证多次运行进程前后都能获得相同的结果。

异步技术的优势:

  1. 提高并发性:异步技术允许多个任务同时进行,而不需要等待其他任务完成。这使得系统能够更有效地利用资源,处理更多的任务,从而提高并发性。
  2. 增强响应速度:在处理长时间运行的任务时,异步技术可以避免阻塞主线程或进程,从而保持系统的响应速度。例如,在用户界面编程中,异步操作可以避免界面冻结,提高用户体验。
  3. 资源高效利用:通过异步I/O操作,系统可以在等待I/O操作完成时,继续处理其他任务。这避免了资源的闲置,提高了系统的整体效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2177929.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DVWA | File Inclusion(文件包含)渗透测试

概念: 漏洞产生原因: 主要是由于开发人员没有对用户输入的文件路径进行严格的过滤和验证。例如,如果一个 Web 应用程序接受用户输入的文件路径,然后使用这个路径进行文件包含,而没有对用户输入进行任何检查&#xff0c…

【SOP】Windows下安装Neo4j流程

Neo4j简介 Neo4j 是一个基于图形结构的 NoSQL 数据库,专门用于存储和管理图数据。与传统的关系型数据库不同,Neo4j 使用 图(graph)的形式来表示数据,其中数据点(称为 节点)通过 边(…

CHI trans--Home节点发起的操作

总目录: CHI协议简读汇总-CSDN博客https://blog.csdn.net/zhangshangjie1/article/details/131877216 Home节点能够发起的操作,包含如下几类: Home to Subordinate Read transactionsHome to Subordinate Write transactionsHome to Subor…

uniapp学习(001 介绍-安装等)

零基础入门uniapp Vue3组合式API版本到咸虾米壁纸项目实战,开发打包微信小程序、抖音小程序、H5、安卓APP客户端等 总时长 23:40:00 共116P 此文章包含第1p-第p4的内容 文章目录 创建项目目录结构效果下载微信小程序开发者工具在hbuilderX里配置开发者工具找到安全…

D22【python接口自动化学习】-python基础之判断与循环

day22 if语句的定义 学习日期:20240928 学习目标:内置数据类型--32 if语句:数据流程出现分支时,怎样编写程序? 学习笔记: 条件判断的用途 需求分析 真假值用布尔型表达 # if语句基本写法 if True:print…

技术速递|Python in Visual Studio Code 2024年9月发布

排版:Alan Wang 我们很高兴地宣布将于 2024 年 9 月发布适用于 Visual Studio Code 的 Python 和 Jupyter 扩展! 此版本包括以下公告: Django 单元测试支持使用 Pylance 从 inlay 提示转到定义 如果您有兴趣,可以在我们的 Pyth…

cloud-(Nacos)--注册中心原理-服务注册-服务发现

并且通过(RestTemplate)Http请求实现了跨微服务的远程调用。不过这种手动发送Http请求的方式存在一些问题 在大型微服务项目中,服务提供者的数量会非常多,为了管理这些服务就引入了注册中心的概念。注册中心、服务提供者、服务消费者三者间关系如下: 流程如下: 服务启动…

【YOLOv8改进[SPPF]】使用SPPFCSPC替换SPPF模块 + 含全部代码和详细修改方式

本文将进行在YOLOv8中使用SPPFCSPC魔改v8,文中含全部代码、详细修改方式。助您轻松理解改进的方法。 改进前和改进后的参数对比如下: 目录 一 SPPFCSPC 二 使用SPPFCSPC魔改v8 1 整体修改 ① 添加SPPCSPC.py文件 ② 修改ultralytics/nn/tasks.py文件 2 配置文件

VGG16网络介绍及代码撰写详解(总结1)

可以从本人以前的文章中可以看出作者以前从事的是嵌入式控制方面相关的工作,是一个机器视觉小白,之所以开始入门机器视觉的学习只要是一个idea,想把机器视觉与控制相融合未来做一点小东西。废话不多说开始正题。 摘要:本文是介绍V…

超便携专业AI大师本带来生产力跃升,联想ThinkPad P1 AI 2024 AI元启版上市

随着AI技术在各行业的广泛应用,其实际效用愈加突出。无论是4K视频生成、建筑设计,还是仿真实验等专业领域,AI技术的支持使得过去需要数小时完成的任务如今分钟级即可完成。AI能够生成与人类创作者风格相似的内容,极大地提高了内容…

【Linux】基于驱动框架的程序编写测试

【Linux】基于驱动框架的程序编写测试 字符设备驱动工作原理☆ 驱动程序开发驱动程序开发步骤驱动代码框架驱动框架设计流程 编译与测试编译测试 参考博文: 【Linux】基于框架编写驱动代码、驱动代码编译和测试 Linux驱动(驱动程序开发、驱动框架代码编…

智能摄像头DIY教程

你要去度假,想看看家里的情况吗?你想了解人工智能和计算机视觉吗?你有 Raspberry Pi、网络摄像头和一些空闲时间吗?那么这个项目就是为你准备的! 在本文中,我们将介绍如何使用 Raspberry Pi 在 Python 中创…

Matlab|考虑阶梯式碳交易与供需灵活双响应的综合能源系统优化调度

目录 1 主要内容 目标函数 模型: 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序方法复现《考虑阶梯式碳交易与供需灵活双响应的综合能源系统优化调度》,提出了供需灵活双响应机制,供应侧引入有机朗肯循环实现热电联产机组热电输…

MongoDB入门:安装及环境变量配置

一、安装MonggoDB Windows系统安装MongoDB 1、下载MongoDB安装包 访问MongoDB官方网站,选择与Windows系统相匹配的MongoDB Community Server版本进行下载。 Download MongoDB Community Server | MongoDB 2、安装MongoDB 双击下载好的安装包文件,根…

从Midjourney到秒画:探索国产AI绘图的崛起与未来

最近,许多人在询问: 是否有优秀的国产AI绘图产品? 如果让我推荐一款AI绘图工具,那毫无疑问是Midjourney。它在AI绘图领域的地位堪比OpenAI在人工智能领域的影响力,处于领先的水平。 不过,Midjourney的使用…

[Linux]僵尸进程,孤儿进程,环境变量

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

Unity 查看Inspectors组件时严重掉帧

遇到一个问题,就是运行一个脚本的时候,只要我查看它的Inspectors,就会严重掉帧。 原本是30fps,只要查看这个组件,就掉到5fps。 这还真有点像波粒二象性,一观察就会掉帧,不观察就正常。 using…

【Ubuntu】minicom安装、配置、使用以及退出

目录 1 安装 2 配置 3 使用 4 退出 minicom是一个串口通信的工具,以root权限登录系统,可用来与串口设备通信。 1 安装 sudo apt-get install minicom 2 配置 使用如下命令进入配置界面: sudo minicon -s 进入配置界面后,…

Html2OpenXml:HTML转化为OpenXml的.Net库,轻松实现Html转为Word。

推荐一个开源库,轻松实现HTML转化为OpenXml。 01 项目简介 Html2OpenXml 是一个开源.Net库,旨在将简单或复杂的HTML内容转换为OpenXml组件。 该项目始于2009年,最初是为了将用户评论转换为Word文档而设计的 随着时间的推移,Ht…

人工智能技术在电磁场与微波技术专业的应用

在人工智能与计算电磁学的融合背景下,电磁学的研究和应用正在经历一场革命。计算电磁 学是研究电磁场和电磁波在不同介质中的传播、散射和辐射等问题的学科,它在通信、雷达、无 线能量传输等领域具有广泛的应用。随着人工智能技术的发展,这一…