库函数和系统调用库函数和系统调用的关系:用户编程中的`printf`、`fread`、`fopen`等标准C库函数——底层实际上调用了`write`、`read`、`open`等系统调用。系统调用的执行流程——用户态→软件中断→内核服务→返回用户态。系统调用的开销包括上下文切换、参数验证、数据拷贝。库函数提供了缓冲和格式化等功能以降低频繁系统调用的开销。枫桥2026/6/29大约 5 分钟计算机基础复习重点操作系统复习重点
操作系统的发展历史操作系统发展史:从monitor到DOS到Windows的演进、批处理系统到分时系统到个人操作系统的发展脉络、UNIX和Linux的历史决定性和开源对计算机工业的推动。枫桥2026/6/29大约 18 分钟计算机基础复习重点操作系统复习重点
操作系统的目标和作用操作系统目标和作用:操作系统作为资源管理者(CPU/内存/设备/文件)和抽象提供者(进程/文件/地址空间)的双重角色、发展过程从批处理分时到分布式操作系统的演进路线、操作系统的结构设计(宏内核 vs 微内核 vs 混合内核)。枫桥2026/6/29大约 15 分钟计算机基础复习重点操作系统复习重点
系统调用系统调用的完整流程:x86-64的syscall指令的硬件行为——切换到内核栈保存RIP和RFLAGS——寻找系统调用表——执行内核处理函数——copy_to_user返回数据到用户空间——sysretq返回到用户态。系统调用是用户程序请求OS服务的唯一合法通道。枫桥2026/6/29大约 5 分钟计算机基础复习重点操作系统复习重点
处理机调度层次与评价指标处理机调度的层次:高级调度(作业调度——作业从外存进入内存的过程——决定多道程序度)、中级调度(对换——进程在内存和磁盘之间的对换——挂起态)、低级调度(进程调度——CPU上就绪进程的选择)。三个层次的频率和切换代价逐级降低。调度算法的评价指标——CPU利用率、吞吐量、周转时间、等待时间、响应时间。枫桥2026/6/29大约 14 分钟计算机基础复习重点操作系统复习重点
死锁死锁问题:死锁的四个必要条件(互斥/持有并等待/不可剥夺/环路等待)的严格定义和充电——预防死锁打破四个必要条件中的任何一个——死锁避免银行家算法——死锁检测通过等待图化简和资源分配图判定环——鸵鸟策略的工程理由(死锁极少发生而检测开销大)。枫桥2026/6/29大约 6 分钟计算机基础复习重点操作系统复习重点
经典调度算法经典调度算法详解:FCFS的护航效应、SJF的最短平均等待时间证明、SRTF(抢占SJF)的进程抢占时机、优先级调度的饥饿与优先级反转、时间片轮转的时间片选择、多级反馈队列的自适应调度。每个算法配以甘特图计算平均等待时间。枫桥2026/6/29大约 6 分钟计算机基础复习重点操作系统复习重点
临界区与互斥临界区与互斥——临界区是访问临界资源的代码段——必须确保互斥访问。互斥的实现方式:软件方式(Peterson算法)、硬件方式(关中断/Test-and-Set指令/Swap指令)、OS方式(信号量/互斥锁)。Peterson算法是纯软件方案的一个经典——证明其互斥和有限等待。Test-and-Set是硬件原子指令——一个不可中断的读-修改-写周期。信号量的P/V操作抽象了低层实现细节。枫桥2026/6/29大约 4 分钟计算机基础复习重点操作系统复习重点
信号量机制与经典同步问题信号量机制与经典同步问题:信号量的定义与P/V操作、用信号量实现进程互斥(设mutex=1——P(mutex)进入临界区、V(mutex)退出)。生产者-消费者问题(有限缓冲——empty/full/mutex三个信号量)——确保生产和消费的顺序。Dijkstra提出的经典问题——读者-写者问题(多个读者可以同时读、写者必须独占——按读优先/写公平两种策略的信号量设计)。枫桥2026/6/29大约 4 分钟计算机基础复习重点操作系统复习重点
线程的概念与实现线程的概念与实现:线程——CPU调度的最小单位。同一进程中的多个线程共享地址空间和文件描述符表。内核级线程vs用户级线程vs混合模型的映射关系——各模型的优势与代价。Linux中通过clone()系统调用统一创建进程和线程——由flags参数决定共享哪些资源。枫桥2026/6/29大约 14 分钟计算机基础复习重点操作系统复习重点