<王道操作系统第1集>1.1.1~1.3.1

会持续更新

王道操作系统课程B站笔记

一 操作系统(Operating System OS)概念

操作系统 : 是指控制和管理整个计算机系统的硬件和软件资源 并合理的组织调度计算机的工作和资源的分配 以提供给用户和其他软件方便的接口和环境

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

1.厂家组装一台操作系统裸机(包含CPU 内存 硬盘 主板)

2.出售前安装windows操作系统

3.用户安装应用程序

4.用户使用QQ

联机命令接口==交互式命令接口

用户说一句 系统说一句(Linux命令)

脱机命令接口==批处理命令接口

执行一堆命令 系统一条一条的执行一堆的命令

程序接口

eg:

在写C语言"Hello World"程序时 在printf函数的底层就使用了操作系统提供的显式相关的"系统调用"

操作系统的特征

并发

并发 : 指两个或多个事件在同一时间间隔内发生(这些时间宏观上式同时发生的 但微观上式交替发生的)

并行

并行 : 指两个或多个事件在同一时刻同时发生

并行 VS 并发

并发 在微观上是交替发生

并行 同时发生

注意:

在单核CPU中 同一时刻只能执行一个程序 各个程序只能并发的执行
多核CPU中 同一时刻可以同时执行多个程序 多个程序可以并行的执行
eg:

Intel第八代i3处理器就是4核CPU,意味着可以并行的运行4个程序

即使是对于4核的CPU来说,只要有4个以上的程序需要"同时"运行,那么并发性是必不可少的,因此并发性是操作系统一个最基本的特征

共享

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

两种资源共享方式

互斥共享方式

互斥共享方式 : 系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段只允许一个进程访问该资源

eg:

使用QQ和微信视频,同一时间段内,摄像头只能分配给其中一个进程

同时共享方式

同时共享方式 : 系统中的某些资源,允许一个时间段内多个进程"同时"对它们进行访问

eg:

使用QQ发送文件A,同时使用微信发送文件B,宏观上看,两边都在同时读取并发送文件.

说明两个进程都在访问硬盘资源,从中读取数据.微观上看,两个进程时交替进行着访问硬盘的

并发性 && 共享性

并发性 : 在同一个时间段内,多个任务交替进行,通过快速切换的方式,让用户感觉是多个任务同时进行
共享性 : 多个线程/进程/程序,能够访问和使用同一个资源的能力,整个资源可以是硬件,内存数据,文件,网络端口...

用一个例子理解 并发性&&共享性

使用QQ发送文件A,同时使用WX发送文件B

1.两个进程正在并发执行(并发性)

2.需要共享的访问硬盘资源(共享性)

如果失去并发性,系统就只能有一个程序正在运行,共享性就没有意义

如果失去共享性,那么QQ和WX就不能同时访问硬件资源,就无法实现同时发送文件,也就无法并发

虚拟

虚拟是指把一个在物理上的实体变为若干个逻辑上的对应物
背景知识:一个程序需要放入内存并给它分配CPU才能执行

问题:既然一个程序需要分配CPU才能正常运行,那么为什么单核CPU的电脑能同时运行这么多程序?

答 : 这是虚拟处理器技术,实际上只有一个单核CPU,在用户看来似乎由很多CPU在为主机服务

虚拟技术

包括:空分复用技术(如 虚拟存储器技术)

时分复用技术(如 虚拟处理器)

异步

异步 : 在多道程序环境下,允许多个程序并发执行,但是由于资源有限,进程的执行不是一步到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性

重要理解

并行和共享互为存在条件

名誉并发和共享,就谈不上虚拟和异步,因此,并发和共享式操作系统的两个最基本的特征

操作系统的发展和分类

不感兴趣

操作系统的运行机制

预备知识 : 程序是怎么执行的

内核程序 VS 应用程序

我们普通程序员写的程序就是应用程序

微软,苹果有一帮人负责实现操作系统,他们写的是内核程序,由很多内核程序组成了"操作系统内核",简称内核(Kernel)

内核是操作系统最重要最核心的部分,也是在接近硬件的部分

内核态(核心态/管态) && 用户态(目态)

CPU有两种状态 : 内核态 和 用户态

CPU处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令
CPU处于用户态时,说明此时正在运行的是应用程序,此时只能执行非特权指令

拓展 : CPU中有一个寄存器叫做程序状态字寄存器,其中有一个二进制位,1表示内核态,0表示用户态

相关推荐
ASKED_201919 小时前
Langchain学习笔记一 -基础模块以及架构概览
笔记·学习·langchain
Lois_Luo20 小时前
Obsidian + Picgo + Aliyun OSS 实现笔记图片自动上传图床
笔记·oss·图床
(❁´◡`❁)Jimmy(❁´◡`❁)20 小时前
Exgcd 学习笔记
笔记·学习·算法
傻小胖20 小时前
21.ETH-权益证明-北大肖臻老师客堂笔记
笔记·区块链
一只小小的芙厨1 天前
寒假集训笔记·树上背包
c++·笔记·算法·动态规划
深蓝海拓1 天前
PySide6从0开始学习的笔记(二十七) 日志管理
笔记·python·学习·pyqt
xqqxqxxq1 天前
Java Thread 类核心技术笔记
java·笔记
老师用之于民1 天前
【DAY21】Linux软件编程基础&Shell 命令、脚本及系统管理实操
linux·运维·chrome·经验分享·笔记·ubuntu
iFeng的小屋1 天前
【2026年新版】Python根据小红书关键词爬取所有笔记数据
笔记·爬虫·python
山岚的运维笔记1 天前
SQL Server笔记 -- 第14章:CASE语句
数据库·笔记·sql·microsoft·sqlserver