操作系统
计算机启动流程:
执行BIOS(写在ROM里)
BIOS 检查计算机硬件(内存、显卡等自检)-->没有问题则下一步,调用磁盘的0号扇的内容(把0号扇区调用到内存RAM里)-->MBR(主引导记录)(512B 446B+硬盘分区表)


引论
1. 操作系统的定义
基本功能:
(1). 人机交互界面
(2). 资源管理
资源管理:
| 计算机系统组成 | OS功能模块 |
|---|---|
| 软件资源 | 文件管理 |
| 存储器 | 存储管理 |
| 外部设备 | 设备管理 |
| 处理器 | 处理器和进程管理 |
| 运行任务控制 | 作业管理 |
如何记忆:上学背着书包(存储管理),书包里有各种书(文件管理)和笔袋中的文具(设备管理),你的脑袋处理总体(处理器和进程原理),每天你需要完成各种各样的作业(作业管理)
文件管理:文件存储空间管理、目录管理、文件独写管理和存取控制、软件管理
存储管理:存储分配和回收、存储保护、地址映射、内存扩充
设备管理:设备操作、设备独立性(I/O)
处理器管理:处理器资源的分配调度等功能
作业管理:作业调度
2. 操作系统的形成与发展
通道技术和中断技术
通道:
是一种专用部件,负责外部设备与内存之间信息的传输
中断:
接到外部信号,立即终止原来的工作,转去处理这一外来事件。处理完后,主机又回到原来工作点继续工作。
管理程序:
向用户提供多个共享资源来运行他们的程序;帮助操作员控制用户程序的执行和管理计算机的部分资源
特点:程序员与操作员分开,操作员通过命令与计算机交互
多道程序设计:
多道:内存中同时存放几个作业;
特征
宏观上并行:都处于运行,但都未运行完-->让多个任务在计算机中同时运行(宏观)
微观上串行:各作业交替使用CPU
特点

操作系统的分类:

以下是常见的操作系统分类及对应的典型示例,涵盖单用户、批处理、实时、分时、网络、分布式和嵌入式系统:
1. 单用户操作系统(Single-User OS)
- 定义:同一时间仅支持一个用户操作,通常用于个人计算机。
-
常见示例:
- Windows 10/11(家庭版)
- macOS(非服务器版)
- MS-DOS
2. 批处理操作系统(Batch Processing OS)
- 定义:将多个任务打包成“作业”批量执行,无需用户交互,适合重复性任务。
-
常见示例:
- IBM OS/360(早期大型机系统)
- UNIVAC EXEC 8(历史批处理系统)
- 现代脚本批处理工具(如 Windows 的
.bat或 Linux 的cron任务)
3. 实时操作系统(Real-Time OS, RTOS)
- 定义:严格保证任务在截止时间内完成,分硬实时(绝对容错)和软实时(允许延迟)。
-
常见示例:
- VxWorks(航天、工业控制,如火星探测器)
- QNX(汽车、医疗设备,如黑莓车载系统)
- FreeRTOS(嵌入式设备,如智能家居硬件)
4. 分时操作系统(Time-Sharing OS)
- 定义:通过时间片轮转支持多用户/多任务并发,用户感知为“独占”资源。 (同时性,独立性,交互性,及时性)
-
常见示例:
- UNIX/Linux(如 Ubuntu、CentOS)
- Windows Server(支持多用户远程桌面)
- Multics(历史分时系统,现代 OS 的前身)
5. 网络操作系统(Network OS)
- 定义:专为网络资源共享设计,提供文件/打印机共享、用户管理等功能。
-
常见示例:
- Windows Server(Active Directory 域服务)
- Novell NetWare(早期企业级网络系统)
- Linux + Samba(实现 Windows 文件共享协议)
6. 分布式操作系统(Distributed OS)
- 定义:将多台计算机虚拟化为单一系统,透明管理资源。
-
常见示例:
- Amoeba(学术研究用分布式系统)
- Plan9(贝尔实验室开发,强调分布式计算)
- Google Borg(内部集群管理系统,类似 Kubernetes 前身)
7. 嵌入式操作系统(Embedded OS)
- 定义:专为嵌入式设备设计,轻量级、低功耗、实时性要求高。
-
常见示例:
- Android(基于 Linux,用于智能手机)
- Embedded Linux(如路由器用的 OpenWRT)
- RT-Thread(国产物联网操作系统)
补充说明
- 重叠性:某些系统可能跨多类(如 Windows Server 既是分时也是网络操作系统)。
- 现代趋势:云计算推动分布式和网络操作系统的融合(如 Kubernetes 管理分布式集群)。
总结:


进程与线程
进程的组成:(存在易忘点:PCB)
程序:进程-->完整的程序、一部分程序;
数据集合:运行需要的数据、工作区域;
进程控制块(PCB):描述和标志进程(创建进程时,建立PCB;完成任务被撤销时,撤销PCB)PCB与进程一一对应 易忘


进程的三种基本状态
就绪,执行,阻塞

线程与进程的关系:
线程和进程虽然是不同的概念,但它们之间有着紧密的联系,主要体现在以下几个方面:
1. 线程依赖于进程
- 线程是进程的一部分,一个进程至少有一个线程(主线程),也可以有多个线程。
- 线程不能独立存在,必须运行在某个进程的上下文中。
2. 共享与独立资源
- 共享资源:同一进程的所有线程共享进程的代码段、数据段、堆、打开的文件、信号处理等。
- 独立资源:每个线程有自己的栈、寄存器、程序计数器(PC)和线程局部存储(TLS)。
3. 协作完成任务
- 进程通常用于隔离不同的任务(如浏览器不同标签页),而线程用于提高并发执行效率(如多线程下载、并行计算)。
- 线程比进程更轻量,适合需要频繁切换的任务(如Web服务器处理多个请求)。
4. 通信方式不同
- 进程间通信(IPC):需要管道、消息队列、共享内存、信号量等机制,开销较大。
- 线程间通信:直接读写共享变量(需同步机制如互斥锁、信号量),效率更高。
5. 生命周期关系
- 进程终止时,所有线程都会被销毁。
- 线程崩溃可能导致整个进程崩溃(如访问非法内存)。
类比理解
- 进程 = 公司(独立法人,有自己的资金、办公场所)。
- 线程 = 公司员工(共享公司资源,但各自独立工作)。
- 一本书和不同故事线的思路
Comments NOTHING