操作系统

概述

操作系统(OS,Operating System):能有效地组织和管理系统中的各种软硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。4个特征是
并发性共享性虚拟性不确定性(异步性)

  1. 管理系统的硬件、软件、数据资源
  2. 控制程序运行
  3. 人机之间的接口
  4. 应用软件与硬件之间的接口
  5. 操作系统位用户提供了两类接口:操作一级的接口程序控制一级的接口
    • 操作一级接口:包括操作控制命令菜单命令
    • 程序控制一级接口:包括系统调用
操作系统

分类

  • 批处理操作系统
  • 分时操作系统:将 CPU 的工作时间划分为许多很短的时间片
  • 实时操作系统
  • 网络操作系统
  • 分布式操作系统
  • 微型计算机操作系统

功能

  1. 进程管理(Process Management):负责创建、调度、终止进程,并处理进程间通信(IPC)
  2. 存储管理(Memory Management):对主存储器空间进行管理,主要包括储存分配与回收、储存保护、地址映射(变换)和主存扩充
  3. 设备管理(Device Management):负责管理计算机的I/O设备,如磁盘、键盘、显示器等
  4. 文件管理(File Management):主要包括文件存储空间管理、目录管理、文件的读写管理和存取控制
  5. 作业管理

进程管理

进程是程序在一个数据集合上运行的过程,它是系统进行资源分配调度的一个独立单元。它由程序块(描述进程做什么)、*
进程控制块*
(PCB:是进程存在的唯一标志。内容包含进程标识符、状态、位置信息、控制信息、队列指针(链接同一状态的进程)、优先级、现场保护区等)和**
数据块(存放进程执行时所需数据)**三部分组成

  1. 进程是可拥有资源的独立单元
  2. 进程是可独立调度分配资源的基本单位

进程 vs 程序

  1. 区别:进程是程序的一次执行过程,没有程序就没有进程
  2. 程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡
  3. 进程是系统进行资源分配调度的独立单元,而程序不是

进程 vs 线程

进程 vs 线程
  • 线程只能被独立调度,不可分配资源
  • 多个线程可共享进程中的某些资源(内存地址空间、代码、数据、文件等)
  • 线程中的程序计数器、寄存器、栈都是独立的

进程状态

进程状态

三态图

1. 就绪(Ready)

  • 进程已获得除 CPU 之外的所有必要资源,等待 CPU 调度。
  • 进程在 就绪队列 中排队,等待 CPU 运行。

2. 运行(Running)

  • 进程正在 CPU 上执行。
  • 在单处理器系统中,每个时刻只有一个进程处于运行状态。

3. 阻塞(Blocked / Waiting)

  • 进程在等待某些事件(如 I/O 操作完成),无法执行,即使 CPU 空闲也无法运行。
  • 进程进入 等待队列,直到所需事件发生。

状态转换

进程在运行过程中会在这三种状态之间进行转换:

  1. 就绪 → 运行:进程获得 CPU,并开始执行。
  2. 运行 → 就绪:进程因时间片用完或被更高优先级进程抢占而暂停执行。
  3. 运行 → 阻塞:进程等待 I/O 操作完成或某个事件发生,无法继续执行。
  4. 阻塞 → 就绪:等待的事件发生,进程重新进入就绪队列,等待 CPU 调度。

进程同步 & 互斥

  1. 临界资源:各进程间需要以互斥方式对其进行访问的资源。Case:打印机、缓冲区
  2. 临界区:每个进程中访问临界资源的那段代码称为临界区
  3. 互斥:多个进程都要访问同一资源(临界资源),使用时需要加锁,使用完后需要解锁。由于临界资源问题,多个进程之间是间接
    制约关系
  4. 同步:多个任务可以并发执行,只不过有速度上的差异,在一定情况下停下等待,不存在资源是否单独或共享的问题。多个进程之间是
    直接制约关系。先后顺序的影响
  5. 信号量 S:一种特殊的变量。全局变量。表示资源数量或者排队进程数(S < 0 时,排队进程数 = |S|,S 初值表示资源个数
  6. 互斥信号量:对临界资源采用互斥访问,使用互斥信号量后其他进程无法访问。初值为1
  7. 同步信号量:对共享资源的访问控制,初值一般是共享资源数量

PV操作

  1. P操作:申请资源。对资源(S)加锁(占用资源)之后会检查资源是否充足,如果不足(S<0)就会进入阻塞队列
  2. V操作:释放资源。对资源(S)解锁(释放资源)之后检查是否有阻塞队列(S<=0),如果有则唤醒阻塞进程
  3. PV操作一定是成对存在的
PV操作

前驱图 PG(Precedence Graph)

用于表示进程或事务之间的执行依赖关系。它是一种有向无环图,其中 节点(Node) 代表进程或事务,有向边(Edge)
代表执行的先后顺序(即前驱-后继关系)。可以体现直接制约(同步)关系。

  • 箭头流出对应V操作
  • 箭头流入对应P操作

死锁

如果一个进程在等待一件不可能发生的事,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁

死锁

存储管理

页式存储

将程序和内存均划分为同样大小的块,以页为单位将程序调入内存。程序使用逻辑地址(逻辑地址 = 页号 + 页内地址),内存使用*
物理地址(物理地址 = 页帧号(物理块号) + 页内地址),两者使用页表*一一对应。

  • 优点:利用率高,碎片小,分配及管理简单
  • 缺点:增加了系统开销;可能产生抖动现象
页表

页面淘汰原则:状态位1 & 访问位0 & 修改位0

段式存储

按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度(段长)可以不一样。 逻辑段地址 = (段号, 段内偏移量)。物理地址 =
基址 + 段内偏移量

  • 优点:多道程序共享内存,各段程序修改互不影响
  • 缺点:内存使用率低,内存碎片浪费大

段页式存储

段式和页式的综合体。先分段,再分页。一个程序中有若干个段,每个断中可以有若干页,每个页大小相同,但每个段的大小不同。*
段页式地址 = 段号 + 页号 + 页内地址*

  • 优点:空间浪费小、存储共享容易、存储保护容易、能动态链接
  • 缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降

文件管理

  1. 顺序结构
  2. 链式结构
  3. 索引结构
结构 访问方式 速度 存储连续性 适用场景
顺序结构 直接计算偏移 最快 必须连续 大文件、顺序读写
链式结构 顺序查找指针 无需连续 日志、存储小文件
索引结构 直接查索引表 无需连续 数据库、大型文件系统

索引结构

  1. UNIX 默认有13个索引结点(地址指向,物理块号)
  2. 0-9号是直接索引方式。索引结点直接指向物理块,物理块直接保存了文件的逻辑页或数据(0到9号逻辑页
  3. 10号索引结点是一级间接索引方式。索引结点指向一级间接索引表(10到一级间接索引表个数 + 9号逻辑页
  4. 11号索引结点是二级间接索引方式。经过两次间接查找才能确定物理块号
  5. 12号索引结点是三级间接索引方式。经过三次间接查找才能确定物理块号
  6. 文件在逻辑上一定是连续的,在物理上可以是分散的

空闲空间管理

空闲空间管理用于追踪磁盘上的空闲存储块,以便分配给新文件或释放已删除文件占用的空间

方法 主要思想 优点 缺点
空闲区表法 记录每个空闲区域的起始地址和大小 适合存储连续大文件,存取快 可能导致碎片化
位示图法 用二进制位(0/1)表示磁盘块是否空闲 结构简单,占用空间小 查找连续空闲块可能较慢
链式空闲表法 用链表存储空闲块地址 易于动态管理 访问速度较慢
成组链接法 结合链式和块存储,提升效率 查找快,减少遍历 需要额外的存储块存索引
索引空闲表法 用索引表管理空闲块 支持快速查找 需要额外存储索引表

位示图法

用二进制位表示磁盘块是否空闲:

  • 0:表示该块空闲
  • 1:表示该块已占用
位示图法

树形目录结构

  1. 文件属性
    • R:只读文件属性
    • A:存档属性
    • S:系统文件
    • H:隐藏文件
  2. 文件名组成:驱动器号 + 路径 + 主文件名 + 扩展名
  3. 绝对路径:是从盘符开始的路径
  4. 相对路径:是从当前目录开始的路径
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第2章-操作系统 2.1. 操作系统的类型与结构 计算机系统由硬件和软件两部分组成。操作系统是计算机系统中最基本的...
    代码匠心阅读 1,774评论 0 1
  • 第一章:操作系统概论 操作系统的目的:方便性,有效性,扩展性 操作系统的特点:并发行,共享性,虚拟性,异步性引入操...
    Hsicen阅读 5,884评论 0 3
  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 14,205评论 3 34
  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 10,941评论 1 22
  • 根据https://www.jianshu.com/p/8935da4d0f8c 以及一些补充 第一章:概述 什么...
    一步一看阅读 5,711评论 0 0

友情链接更多精彩内容