yanchang
yanchang
发布于 2025-03-20 / 14 阅读
0
0

复试准备 3.20

今天是周四了,依旧没有出复试名单和通知,按照经验周六周天复试,这周复试概率已经不大了

昨天的主要工作是背诵英语自我介绍,整篇背诵了,详情在这里

http://www.yanchang.xyz:8090/archives/kao-yan-fu-shi-ying-yu-zi-wo-jie-shao

这下复试时间的话就铁定是下周了

作业调度,中级调度,进程调度

作业调度(Job Scheduling)、中级调度(Medium-Term Scheduling)和进程调度(Process Scheduling)是操作系统中的几个重要概念,尤其是在多任务操作系统中,它们涉及如何管理和调度进程。简单来说,它们的作用是决定什么任务在什么时候运行,如何运行。下面我给你具体讲一下每个概念:

  1. 作业调度 (Job Scheduling)

    • 作业调度是系统中最宏观的调度,主要指的是操作系统如何决定什么时候将作业(通常是用户提交的一个大的任务或程序)提交给系统进行处理。

    • 当一个作业被提交到系统时,作业调度会决定是否将它从“外存”(比如硬盘)调度到“内存”,也就是决定作业什么时候进入系统的就绪队列,准备进入执行阶段。

    • 这个调度通常会依赖于系统的资源情况、作业的优先级、作业的需求等因素。

  2. 中级调度 (Medium-Term Scheduling)

    • 中级调度介于作业调度和进程调度之间,负责管理处于“阻塞状态”的进程。

    • 具体来说,中级调度的作用是将进程从内存中换出到外存(磁盘),以便释放内存给其他进程使用;或者当系统有足够的内存时,将某些进程从外存调入内存,准备继续执行。

    • 这种调度不常见于所有操作系统,但在有虚拟内存或多任务的系统中较为常见。它的作用是确保内存的合理使用,使得系统能够高效处理多个任务。

  3. 进程调度 (Process Scheduling)

    • 进程调度是最基础、最常见的调度类型,它负责决定哪些进程在何时被 CPU 执行。

    • 操作系统根据不同的调度算法(比如先来先服务、短作业优先、时间片轮转等)来安排进程的执行顺序。

    • 进程调度会根据进程的优先级、执行状态、等待时间等条件决定哪个进程获得 CPU 资源。调度过程通常是在进程的就绪队列等待队列等状态之间来回切换,确保系统的多任务运行。

总结一下:

  • 作业调度管理大规模任务何时进入系统;

  • 中级调度负责内存与外存之间的交换,管理阻塞进程;

  • 进程调度决定哪个进程在什么时候使用 CPU。

各种排序

算法

时间复杂度(平均/最坏)

空间复杂度

稳定性

核心思想

适合场景

直接插入排序

O(n2)/O(n2)

O(1)

✅稳定

插入、前后比较

小数据、基本有序

希尔排序

O(n1.3)/不固定

O(1)

❌不稳定

分组插入、缩增量

中等规模数据

简单选择排序

O(n2)/O(n2)

O(1)

❌不稳定

每次选最小

对稳定性要求不高

堆排序

O(nlog⁡n)/O(nlog⁡n)

O(1)

❌不稳定

构建堆结构

大数据、内存足够

冒泡排序

O(n2)/O(n2))

O(1)

✅稳定

相邻交换冒泡

小数据、教学为主

快速排序

O(nlog⁡n)/O(n2)

O(log⁡n)

❌不稳定

划分+递归

实际应用最多

归并排序

O(nlog⁡n)/O(nlog⁡n)

O(n)

✅稳定

分治合并

链表、外部排序基础

🧠 一、操作系统的组成(OS的“五脏六腑”)

操作系统(Operating System)不是一个光秃秃的黑屏,它其实有好几个模块,像个“系统级管家”:

组成模块

说明

进程管理

管理程序的运行过程(进程/线程)

内存管理

管内存的分配与回收(内存别乱抢)

文件管理

文件、目录、权限等的管理

设备管理

管理各种I/O设备(硬盘、打印机、键盘等)

作业管理(有时单列)

管理批处理作业(多用于老系统)

用户接口系统

提供用户操作的接口(命令行、GUI)

👉 进程、内存、文件、设备这四个是操作系统的“四大管理核心”,考试最常考。


🛠️ 二、操作系统的功能(OS是干啥的?)

操作系统说白了就是个资源管理大师+程序调度大师+人机沟通中介

✅ 1️⃣ 进程管理

  • 创建/撤销进程,进程切换,进程调度

  • 处理进程同步与通信

→ 保证多个程序“井然有序,不打架”

✅ 2️⃣ 内存管理

  • 动态分配/回收内存

  • 地址映射、内存保护、虚拟内存等

→ 让各个程序“互不干扰,按需吃饭”

✅ 3️⃣ 文件管理

  • 提供目录结构、文件读写接口、权限控制等

→ 文件井井有条,人人有权限,防止“乱翻人家柜子”

✅ 4️⃣ 设备管理

  • 提供统一的设备接口(驱动)

  • I/O缓冲、设备独立性、多道访问等

→ 硬件操作不烦人,软件一视同仁

✅ 5️⃣ 用户接口功能

  • 命令行/图形界面,系统调用

→ 提供“我们和OS沟通的渠道”

✅ 6️⃣ 作业管理(老系统特有)

  • 管批处理作业,处理多作业环境


⭐ 三、操作系统的基本特征(OS有哪些“性格特征”)

1️⃣ 并发性(Concurrency)

  • 多个程序/进程**“逻辑上同时运行”**

  • CPU轮流跑,看起来“都在跑”

  • 👉 多道程序设计的核心思想

2️⃣ 共享性(Sharing)

  • 多个用户/程序可以共享资源

  • 硬件共享(CPU、内存)、软件共享(文件、库)

  • 👉 操作系统像“资源分配调度中心”

3️⃣ 虚拟性(Virtualization)

  • 利用时分/空分技术让用户“感觉资源独享”

  • 如:虚拟内存、虚拟机、时间片轮转

4️⃣ 异步性(Asynchronism)

  • 程序运行不可预测、执行时间不确定

  • OS负责中断处理,保持系统稳定运行

  • 👉 你跑你的程序,突然插个U盘、弹出消息都能处理


评论