随笔分类 - 计算机操作系统
摘要:死锁概念 死锁:指多个进程因竞争共享资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进 Example: 系统有两个磁带设备 进程P1和P2各占有一个磁带设备并且实际需要两个磁带 一个生动的例子: 死锁的避免 死锁的避免概述 该方法运行进程动态地申请资源,系统在进行资源分配之前,先计
阅读全文
摘要:生产者消费者问题 读者-写者问题 哲学家进餐问题 哲学家就餐问题讨论 为防止死锁发生可采取的措施 最多允许4个哲学家同时坐在桌子周围 仅当一个哲学家左右两边的筷子都可用时,才允许他拿筷子 给所有哲学家编号,基数号的哲学家必须首先拿左边的筷子,偶数号的哲学 家则反之 为了避免死锁,把哲学家分为三种状态
阅读全文
摘要:信号量 信号量S是个整型变量 信号量S只允许两个标准操作 wait()和signal() 或者,发明人称之为P(通过)操作,V(释放)操作 wait()和signal()是原子操作 (不能被打断) wait操作: signal操作 value<=0 则说明之前有进程在等待 进程的临界区必须符合如下框
阅读全文
摘要:生产者-消费者问题的一种解法 原子操作(Atomic operation)要求该操作完整地一次性完成,不允许中间被打断 Race Condition :The situation where several processes access and manipulate shared data co
阅读全文
摘要:总论:所有的程序都是CPU和I/O等待交替执行 CPU调度器的操作时机 调用CPU调度器的时机,通常发生在 某一进程从执行状态转化为等待状态 某一进程从执行状态转化为就绪状态 某一进程从等待状态转为就绪状态 某一进程终止 注意,调度时机不限于此4种情况,有非抢占式调度,和抢占式调度 CPU调度器 决
阅读全文
摘要:用户级线程: 线程管理(创建,资源申请,调度,通信等)由user-level library一手包办,不靠OS内核 内核级: 线程管理由操作系统内核的kernel-level threads实现 one to one 模型 这种模型将每个user-level thread映射至一个kernel th
阅读全文
摘要:进程创建 子进程的资源 执行代码的执行顺序 linux c代码: 1 #include <stdio.h> 2 #include <sys/types.h> 3 4 int main(void) 5 { 6 pid_t pid; 7 pid = fork();//创建子进程,返回的是创建的子进程的编
阅读全文
摘要:最理想的多任务模型 进程的数据结构:PCB 进程状态迁移示例 PCB示例 进程调度队列,动态反应操作系统全貌 Job queue 等待进入计算机系统的待处理任务 Ready queue 驻留内存,准备就绪,等待CPU Device queue 等待I/O设备的进程 进程一经创建,即在这些队列之间迁移
阅读全文
摘要:操作系统服务 用户接口 命令行接口 图形用户接口 批处理 程序执行 I/0操作 文件系统操作 通信 出错检测 资源分配 记账:跟踪和记录用户对资源的利用 系统调用 提供了进程与操作系统之家的接口 这些调用通常以汇编语言指令的形式提供 有些语言(如C,C++)已经取代了汇编语言 向操作系统传递参数通常
阅读全文
摘要:操作系统是什么 计算机系统概述 操作系统类型 操作系统是程序,充当计算机硬件和计算机用户的中介 组成: 软件: 应用软件 系统软件 硬件: 输入/输出设备 存储器 处理器 从服务用户的观点--操作系统是用户与计算机硬件之间的接口 内核 Kernel:the one program running a
阅读全文

浙公网安备 33010602011771号