考研408《操作系统》复习笔记,第一章《概述》

一、是啥玩意?

计算机操作系统就是:

  • 操控、管理整个计算机软件和硬件的资源、并合理分配计算机工作、资源

(人话):操作系统是计算机系统资源的管理者

  • 以给用户和其他软件提供更方便的接口和环境

(人话):它为上层提供服务

  • 它是计算机系统中最基础的系统软件

(人话):是软件,是最接近底层硬件的一套软件

1)对于第一句话:【操控、管理整个计算机软件和硬件的资源,是计算机系统资源的管理者】的理解:

2)第二句话:【它为上层提供服务】

用户和软件无需关心底层硬件所要的0、1这些二进制代码,操作系统为用户操作软件提供了更有友好的"接口",相当于中间商


这里注意,常见的三大类接口:【GUI】【命令接口】【程序接口】

(注意:【命令接口】和【程序接口】统称为用户接口

其中【GUI】就是搭建常用的图形化操作,点一下图标打开啊、右键删除、新建等等......

例子:

命令接口 】又分【联机命令接口 】和【脱机命令接口

联机命令接口】就是大家常用的【Window + R】这种打开"黑窗口"输入命令来执行的操作,一般普通用户比较蠢就只会鼠标点点点,程序员一般用得多一点,跟执行的命令跟鼠标点点点的效果是一样的

特点就是:命令一条一条的执行

例子:

脱机命令接口】就是将大批大批的命令通过.bat文件执行,其实我也不太懂毕竟我是没试过这么干

特点就是:命令可以一堆一堆的执行

例子:

程序接口 】就记住【普通用户】不能直接用就行了,程序员也只能通过代码调用程序,然后程序调用【程序接口】执行命令

例子:

3)第三句话:【是最接近底层硬件的一套软件】

二、操作系统的特征

前提知识点: 这里需要知道的一个知识点后面可能会方便各位理解---------程序是在内存中运行的

(这就是为什么当你的内存不够大时,运行多个程序会卡,而且一个程序运行下去可能要生成更多的临时数据资源,占用更多内存,导致电脑更卡)

1、总的4大特征:

(其中【并发】和【共享】是最基本的特征,二者互为存在条件)

2、并发

并发是指:两个或多个事件在同一时间间隔内同时发生

注意:这个【同时】是宏观上 的同时,微观上 是交替发生的,怎么解释呢?

那就要区分一下【并发】和【并行】两个概念

【并发】两个或多个事件在同一时间间隔内同时发生,也就是同时跟个千手观音一样干着N份活

【并行】是两个或多个事件在同一时刻同时发生,虽然是要一次性干这么多活,但是也得稍微有个前后顺序,在微观层面的某一小时刻还是只能执行一件事

用两渣男约会来比喻:

而【操作系统的并发性】就是【计算机中同时运行多个程序】(宏观同时,微观交替)

操作系统和程序并发是同时诞生的

3、共享

共享就是计算机的资源共享,系统中的资源可供内存中多个并发进程使用

(这里资源不仅仅指内存数据,还有什么音响啊、摄像头...等等都可以算资源)

这种 "同时" 跟并发一样,也是 "宏观上" 同时,**"微观上"**分时共享

其中也细分为【互斥共享 】和【同时共享】两种共享方式

互斥共享

就是比如qq、微信同时要视频通话,那摄像头资源就只能给一个应用使用;网易云跟qq音乐同时要放歌,那音频播放器只能给一个应用使用。

同时共享

就是比如qq跟微信跟短信都可以同一时间给别人发送文件、照片......看似是同时进行的,但其实 "微观层面" 上其实是分时交替着读取内存资源

【并发】和【共享】是相互依存的

4、虚拟

虚拟就是将一个 "物理实体" 变成 若干个 "逻辑上的对应物",物理实体是实际存在的(比如电脑运行内存大小、计算机的1个单核CPU),逻辑对应物是用户感受到的(比如玩游戏时感觉运行内存变得好大、打开多个软件以为是多个CPU同时工作)

注意:【虚拟性】依赖于【并发性】来体现,如果没了【并发性】,【虚拟性】就没有存在的意义


5、异步

这个对于java以及前端开发的兄弟们应该再熟悉不过了,异步就是多个进程并发运行,但是有限的资源被一个进程占用时,有的进程可能就需要等待,并不是所有进程都是一路顺利贯穿到底的

我自己的项目经验的例子是:

有的时候我们开发前端,当加载页面的时候有些图片资源是需要通过向后端发送请求获取的,那这跟时候加载页面会直接运行 "渲染静态数据"、"渲染样式"......等等进程,而"渲染图片"这个进程可能就要等待请求成功响应回数据之后,再渲染,页面就会出现空白或者预加载的假图片;

或者我们的setTimeout这种函数,就是异步,我们正常执行别的函数、进程,然后等我们设置的时间到了,才会触发setTimeout这个函数的进程开始。

《王道考研》里的例子是:

相关推荐
DKPT9 小时前
ZGC和G1收集器相比哪个更好?
java·jvm·笔记·学习·spring
QT 小鲜肉10 小时前
【孙子兵法之上篇】001. 孙子兵法·计篇
笔记·读书·孙子兵法
星轨初途11 小时前
数据结构排序算法详解(5)——非比较函数:计数排序(鸽巢原理)及排序算法复杂度和稳定性分析
c语言·开发语言·数据结构·经验分享·笔记·算法·排序算法
QT 小鲜肉12 小时前
【孙子兵法之上篇】001. 孙子兵法·计篇深度解析与现代应用
笔记·读书·孙子兵法
love530love14 小时前
【笔记】ComfUI RIFEInterpolation 节点缺失问题(cupy CUDA 安装)解决方案
人工智能·windows·笔记·python·插件·comfyui
愚戏师14 小时前
MySQL 数据导出
数据库·笔记·mysql
摇滚侠15 小时前
2025最新 SpringCloud 教程,教程简介,笔记01
笔记·spring cloud
RickyWasYoung16 小时前
【笔记】智能汽车、电动汽车政策文件
笔记·汽车
love530love19 小时前
【保姆级教程】Windows + Podman 从零部署 Duix-Avatar 数字人项目
人工智能·windows·笔记·python·数字人·podman·duix-avatar
草莓熊Lotso21 小时前
《算法闯关指南:动态规划算法--斐波拉契数列模型》--01.第N个泰波拉契数,02.三步问题
开发语言·c++·经验分享·笔记·其他·算法·动态规划