<王道操作系统第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表示用户态

相关推荐
超级大只老咪5 小时前
快速进制转换
笔记·算法
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.7 小时前
Keepalived VIP迁移邮件告警配置指南
运维·服务器·笔记
ling___xi8 小时前
《计算机网络》计网3小时期末速成课各版本教程都可用谢稀仁湖科大版都可用_哔哩哔哩_bilibili(笔记)
网络·笔记·计算机网络
中屹指纹浏览器9 小时前
中屹指纹浏览器底层架构深度解析——基于虚拟化的全维度指纹仿真与环境隔离实现
经验分享·笔记
Hello_Embed9 小时前
libmodbus 移植 STM32(基础篇)
笔记·stm32·单片机·学习·modbus
无聊的小坏坏10 小时前
实习笔记:用 /etc/crontab 实现定期数据/日志清理
笔记·实习日记
香芋Yu10 小时前
【机器学习教程】第04章 指数族分布
人工智能·笔记·机器学习
深蓝海拓11 小时前
PySide6从0开始学习的笔记(二十六) 重写Qt窗口对象的事件(QEvent)处理方法
笔记·python·qt·学习·pyqt
中屹指纹浏览器11 小时前
中屹指纹浏览器多场景技术适配与接口封装实践
经验分享·笔记
BugShare13 小时前
Obsidian 使用指南:从零开始搭建你的个人知识库
笔记·obsidian