[OS第一章引论]大二 操作系统课程 笔记整理

猜猜我是谁 发布于 25 天前 44 次阅读 预计阅读时间: 8 分钟


操作系统

计算机启动流程:

执行BIOS(写在ROM里)

BIOS 检查计算机硬件(内存、显卡等自检)-->没有问题则下一步,调用磁盘的0号扇的内容(把0号扇区调用到内存RAM里)-->MBR(主引导记录)(512B 446B+硬盘分区表)

image-20251028184050147
image-20251028184254130

引论

1. 操作系统的定义

基本功能:

(1). 人机交互界面

(2). 资源管理

资源管理:
计算机系统组成OS功能模块
软件资源文件管理
存储器存储管理
外部设备设备管理
处理器处理器和进程管理
运行任务控制作业管理

如何记忆:上学背着书包(存储管理),书包里有各种书(文件管理)和笔袋中的文具(设备管理),你的脑袋处理总体(处理器和进程原理),每天你需要完成各种各样的作业(作业管理)

文件管理:文件存储空间管理、目录管理、文件独写管理和存取控制、软件管理

存储管理:存储分配和回收、存储保护、地址映射、内存扩充

设备管理:设备操作、设备独立性(I/O)

处理器管理:处理器资源的分配调度等功能

作业管理:作业调度

2. 操作系统的形成与发展

通道技术和中断技术

通道:

是一种专用部件,负责外部设备与内存之间信息的传输

中断:

接到外部信号,立即终止原来的工作,转去处理这一外来事件。处理完后,主机又回到原来工作点继续工作。

管理程序:

向用户提供多个共享资源来运行他们的程序;帮助操作员控制用户程序的执行和管理计算机的部分资源

特点:程序员与操作员分开,操作员通过命令与计算机交互

多道程序设计:

多道:内存中同时存放几个作业;

特征

宏观上并行:都处于运行,但都未运行完-->让多个任务在计算机中同时运行(宏观)

微观上串行:各作业交替使用CPU

特点

image-20251028191026073

操作系统的分类:

image-20251028191140361

以下是常见的操作系统分类及对应的典型示例,涵盖单用户、批处理、实时、分时、网络、分布式和嵌入式系统:


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 管理分布式集群)。

总结:

image-20251028193821354
image-20251028194155527

进程与线程

进程的组成:(存在易忘点:PCB)

程序:进程-->完整的程序、一部分程序;

数据集合:运行需要的数据、工作区域;

进程控制块(PCB):描述和标志进程(创建进程时,建立PCB;完成任务被撤销时,撤销PCB)PCB与进程一一对应 易忘

image-20251028195457751
image-20251028195511657

进程的三种基本状态

就绪,执行,阻塞

image-20251028195600684

线程与进程的关系:

线程和进程虽然是不同的概念,但它们之间有着紧密的联系,主要体现在以下几个方面:

1. 线程依赖于进程

  • 线程是进程的一部分,一个进程至少有一个线程(主线程),也可以有多个线程。
  • 线程不能独立存在,必须运行在某个进程的上下文中。

2. 共享与独立资源

  • 共享资源:同一进程的所有线程共享进程的代码段、数据段、堆、打开的文件、信号处理等
  • 独立资源:每个线程有自己的栈、寄存器、程序计数器(PC)和线程局部存储(TLS)

3. 协作完成任务

  • 进程通常用于隔离不同的任务(如浏览器不同标签页),而线程用于提高并发执行效率(如多线程下载、并行计算)。
  • 线程比进程更轻量,适合需要频繁切换的任务(如Web服务器处理多个请求)。

4. 通信方式不同

  • 进程间通信(IPC):需要管道、消息队列、共享内存、信号量等机制,开销较大。
  • 线程间通信:直接读写共享变量(需同步机制如互斥锁、信号量),效率更高。

5. 生命周期关系

  • 进程终止时,所有线程都会被销毁
  • 线程崩溃可能导致整个进程崩溃(如访问非法内存)。

类比理解

  • 进程 = 公司(独立法人,有自己的资金、办公场所)。
  • 线程 = 公司员工(共享公司资源,但各自独立工作)。
  • 一本书不同故事线的思路
  • reward_image2
此作者没有提供个人介绍。
最后更新于 2025-11-20