
操作系统
文章平均质量分 92
就着嘎巴菜喝大碴粥
这个作者很懒,什么都没留下…
展开
-
计算机操作系统学习
1 进入系统(硬件开机过程)1.1 程序执行过程把指令指针指向的程序载入到内存里, 然后由控制器(CPU)取指执行.1.2 开机过程x86电脑刚开机过程中内存中有一部分是固化的, 刚开机时, CS(段寄存器) = 0xFFFF; IP(偏移) = 0x0000; CS << 4 + IP; 所以刚开始执行的是0xFFFF0(ROM BIOS映射区). 然后开始检查RAM, 键盘, 显示器, 软硬磁盘等, 如果硬件有问题就进不去系统. 然后把磁盘0磁道0扇区(操作系统的引导扇区).原创 2021-04-12 09:47:57 · 201 阅读 · 0 评论 -
操作系统文件系统
1 基本概念1.1 文件系统和文件1.1.1 简述文件系统: 一种用于持久性存储的系统抽象在存储器上: 组织, 控制, 导航, 访问和检索数据 大多数计算机系统包含文件系统 个人电脑, 服务器, 笔记本电脑 ipod, Tivo/机顶盒, 手机/掌上电脑 google可能是由一个文件系统构成的文件:文件系统中一个单元的相关数据在操作系统中的抽象1.1.2 文件系统的功能分配文件磁盘空间管理文件块(哪一块属于那一个文件) 管理空闲空间(哪一块是空闲的) 分配算法(策.原创 2021-04-12 09:47:14 · 568 阅读 · 0 评论 -
操作系统进程间通信 --- IPC
1. 概述进程间通信的原因:进程之间要保持独立, 也需要通信, 保证相对独立性的同时还需要去确保进程间的沟通.1.1 通信模型1.2 直接及间接通信1.3 阻塞与非阻塞1.4 通信链路缓冲2. 信号3. 管道4. 消息队列5. 共享内存...原创 2021-04-06 16:53:38 · 277 阅读 · 0 评论 -
操作系统中的死锁问题
1 死锁问题概述一组阻塞的进程持有一种资源等待获取另一个进程所占有的一个资源. 例子: 系统有两个磁带驱动器, P1和P2各有一个, 都需要另外一个.2 系统模型资源类型:,, ..., 包括CPU cycles, memory space, I/O devices每个资源类型有实例.每个进程使用资源过程如下:request/get <-- free resource use/hold <-- requested/used resource releas...原创 2021-04-02 11:22:31 · 790 阅读 · 0 评论 -
操作系统中死锁避免算法 --- 银行家算法
1. 背景在银行系统中, 客户完成项目需要申请贷款的数量是有限的, 每个客户在第一次申请贷款时要声明完成该项目所需的最大资金量, 在满足所有贷款要求并完成项目时, 客户应及时归还. 银行家在客户申请的贷款数量不超过自己拥有的最大值时, 都应尽量满足客户的需要. 在这样的描述中, 银行家就好比操作系统, 资金就是资源, 客户就相当与要申请资源的进程.2. 原理当有一个进程请求各种资源时, 银行家算法会根据当前系统情况给你返回一个如果分配给你的话系统处于safe还是unsafe的结果, 如果返回sa原创 2021-03-29 16:54:11 · 790 阅读 · 0 评论 -
操作系统信号量和管程
1 背景同步互斥回顾:并发问题: 竞争条件(竞态条件)多程序并发存在大量问题同步多线程共享公共数据的协调执行 包括互斥与条件同步 互斥: 在同一时间只有一个线程可以执行临界区确保线程同步需要高层次的编程抽象(如: 锁) 从底层硬件支持编译2 信号量信号量是抽象数据类型信号量用一个整形(sem)表示, 具有两个原子操作 P(): sem减1, 如果sem < 0, 等待, 否则继续(condition->wait) V(): sem加1, 如果sem &原创 2021-03-25 11:33:21 · 818 阅读 · 0 评论 -
计算机操作系统同步互斥
1 背景在计算机系统里面, 多道程序设计是现代操作系统的重要特征, 且并行起到了很大的作用, 所以操作系统抽象出来了线程/进程的概念用来支持多道程序设计原创 2021-03-18 16:48:33 · 739 阅读 · 0 评论 -
操作系统处理器调度
1 背景1.1 上下文切换:切换CPU的当前任务, 从一个进程/线程到另一个 保存当前进程/线程在PCB/TCB中的执行上下文(CPU状态) 读取下一个进程/线程的上下文1.2 CPU调度:从就绪队列中挑选一个进程/线程作为CPU将要运行的下一个进程/线程 调度程序: 挑选进程/线程的内核函数(通过一些调度策略) 什么时候进行调度?1.3 内核运行调度程序的条件(满足一条即可):一个进程从运行状态切换到等待状态 一个进程被终结了1.4 抢占式调度大部分时候应用程序在运行的原创 2021-03-16 15:22:56 · 670 阅读 · 0 评论 -
操作系统内存管理
1 计算机体系结构以及内存分层体系CPU可以访问的内存有很多类:CPU芯片内部: CPU寄存器和cache(缓存), 这些内存操作系统无法直接管理, 但是这些内存的访问和执行速度很快, 容量是有限的. 主存: 访问和执行速度较慢. 硬盘: 内存中需要永久保存的数据, 执行需要先加载到内存, 访问速度更慢.操作系统的目标:抽象 保护, 保护进程之间的地址空间不被互相破坏, 隔离开来 交互, 提供有效的手段进行进程之间的通讯 管理内存不够问题.2 地址空间和地址生成2.1 地址空间原创 2021-03-12 14:52:22 · 1572 阅读 · 0 评论 -
操作系统进程管理
1 进程概述进程:一个具有一定的功能的程序在一个数据集合上的一次动态执行过程.1.1 进程组成一个进程应该包括:程序的代码 程序处理的数据 程序计数器中的值, 指使下一条将运行的指令 一组通用的寄存器的当前值, 堆, 栈 一组系统资源(如打开的文件)总之, 进程包含了正在运行的一个程序的所有状态信息.1.2 进程和程序的联系程序是产生进程的基础 程序的每次运行构成不同的进程 进程是程序功能的体现 通过多次执行, 一个程序可对应多个进程, 通过调用关系, 一个进程可包.原创 2021-03-12 14:46:32 · 379 阅读 · 0 评论 -
非全局页面置换算法
1 先进先出算法(FIFO)1.1 基本思路:选择在内存中驻留时间最长的页面并淘汰之. 具体来说, 系统维护着一个链表, 记录了所有位于内存当中的逻辑页面. 从链表的排列顺序来看, 链首页面的驻留时间最长, 链尾页面的驻留时间最短. 当发生一个缺页中断时, 把链首页面的淘汰出局, 并把新的页面添加到链表的末尾.1.2 评价:性能较差, 调出的页面有可能是要经常要访问的页面, 并且有Belady现象. 很少单独使用.2 最近最久未使用算法(LRU)2.1 基本思路当一个缺页中断发生原创 2021-03-04 15:37:09 · 241 阅读 · 1 评论 -
操作系统中的全局页面置换算法
1全局页面置换算法以上页面置换算法都是针对单一的应用程序的页面置换算法, 且有一个前提, 就是给单一应用程序分配的物理页帧数量是一定的. 现实中, 给一个应用程序分配的物理页帧数, 该程序产生的缺页中断也就越少, 而且程序运行过程中, 可能某些阶段对于内存的读写操作很多, 某些阶段很少, 所以给一个应用程序分配固定数量的物理页帧是不合理的. 这样就需要一个全局页面置换算法, 可以动态对某个应用程序的物理页帧数进行调整.2 工作集模型前文介绍的各种页面置换算法, 都是基于一个前提, 即程序的局..原创 2021-03-04 15:27:59 · 1425 阅读 · 2 评论