1. 操作系统—概述
🐋1.介绍
基本概述及原理
操作系统介绍
中断及系统调用
内存管理
进程及线程
调度
同步
文件系统
I/O 子系统
🐋2. 什么是操作系统
用户角度:操作系统是一个控制软件
管理应用程序
为应用程序提供服务
杀死应用程序
程序角度:操作系统是资源管理器
管理外设、分配资源
抽象
将 CPU 抽象成进程
将磁盘抽象成文件
将内存抽象成地址空间
🐻2.1 操作系统层次
位于硬件之上,应用程序之下。
🐻2.2 操作系统的界面和内核
Linux Windows Android 的界面属于外壳(Shell) ,而不是内核(kernel)。操作系统研究的是内核,处于 Shell 之下。
🐻2.3 操作系统内部组件
CPU 调度器
物理内存管理
虚拟内存管理
文件系统管理
中断处理与设备驱动
cpu: 主要是 cpu 的调度和进程线程的管理
内存: 物理内存和虚拟内存,物理内存就是实际的内存,虚拟内存为应用提供一个相对独立的空间(在有限的物理内存之上,虚拟出一个更大的,更安全的环境)
文件: disk 是以磁盘块作为一个读写的基本单位,访问比较底层不方便,于是在上面抽象成文件。
中断处理: 它是直接与底层硬件交流
🐻2.4 操作系统特征
并发
一段时间内运行多个进程(并行 : 一个时间点运行多个进程,一般要求有多个 CPU)
需要 OS 管理和调度
共享
“同时”共享
互斥共享
虚拟
利用多道程序设计技术,让每一个用户觉得的有一个计算机专门为他服务
异步
程序是走走停停,而不是一直运行,
但是不管怎么走,只要运行环境相同,os要保证运行的结果也相同
🐋3. 操作系统历史
早起计算机使用纸带传输程序和数据,os 只起到加载作用
批处理阶段(一个程序一个程序的运行,每次都需要从外面导入程序)
CPU 执行多个程序。此时不需要将要跑的程序,从磁盘放到内存中,大大减少 IO 的开销(直接全部都放到内存中)
当一个程序运行阶段,可能要进行 IO 操作,此时时间非常长,这时就可以运行另一个程序,当程序 1 完成 IO 操作后,就进行中断,停止程序 25,继续进行程序 1
提高交互性,上述的操作不需要人参与,交互性差,此时出现
分时系统
(通过分时使得不同的程序都有时间去执行工作。),目前计算机是 1/1000 秒产生一次分时。(而分时主要靠时钟定期产生中断)
多核 CPU
分布式操作系统
🐋4. 操作系统结构
MS-DOS
不分模块的单体内核(
单体意味着通过函数调用实现(紧耦合)
)
微内核
尽可能把内核功能移动到用户空间
(在操作系统内核中放基本功能(松耦合),其他的文件系统,内存管理等都放在外面以进程形式存在,进程与进程之间通过内核消息传递进制进行通信)
评论