现代操作系统读书笔记讲述.docx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章:引论 操作系统是运行在内核态的软件,为程序猿提供资源集抽象以及管理硬件 1.1.2 主要任务:记录那个程序在用什么资源,管理资源分配,评估使用代价,调节冲突 1.3.1 1.操作系统必须知道所有的寄存器,以便中断时保存进度 2.用户程序在用户态运行时,仅允许执行至灵级的一个子集,一般不能调用IO和内 存保护指令 3.陷阱: a. 用于执行系统调用 b. 多数由硬件引起,用于警告异常 4.超线程:无并行处理,线程切换纳秒级 1.3.2存储器 1. 寄存器(和CPU一样快)-》高速缓存(多级缓存)-》主存(RAM ROM EEROM 闪存) 1.3.3 上下文切换:多道程序系统中从一个程序切换到另一个程序 1.3.5 1. 设备驱动程序:控制IO设备,与控制器对话并收发命令 2. 设备存储器:映射到操作空间 A.优点:不需要特定IO指令 B.缺点:占地址空间(8088) 3. 实现输入输出的方法: A. 忙等待:设备驱动循环检查IO B. 操作完成时中断 C. 使用特殊的直接存储器访问芯片DMA 1.3.6 1. USB:通用串行总线,键盘鼠标等慢速设备 1.3.7启动 1. 加电-》BIOS检查硬件-》BIOS查询启动设备(设备第一扇区用启动签名才可以作为启动设备)-》硬盘第一区(MBR),分区表,超级块等 1.5.1进程 1. 本质:正在执行的程序的实例,地址空间(core image 进程可读写,有数据和堆栈)。 2. 相关:资源集(寄存器,报警,文件清单等) 3. 容许运行一个程序所需要所有信息的容器 4. UID与GID 1.5.3 1. IO设备的分类: A.块设备:硬盘,可随机读取 B.字符特殊文件:键盘鼠标 2.管道:虚文件,连接进程 1.6系统调用 1. 用户程序与操作系统交互:处理抽象 2. 能进入内核的过程调用 用户态切换到核心态三种方法:中断,异常,系统调用 3.TRAP指令:副作用切换到内核态 1.7.3微内核 1. 高可靠性,把操作系统划分成小的,定义良好的模块,只有微内核运行在内核,其他 是普通用户程序 2. 设备驱动:崩溃不会导致系统死机 3. 机制与策略分离 第二章:进程与线程 2.1进程模型 1. 多道程序设计:CPU在多个程序之间快速切换 2. UNIX: 开始是相同,之后不同。Windows:一直不同。 3. 进程退出的原因: 1. 正常退出; 2. 出错退出;(异常处理) 3. 严重错误;(非法指令,引用错误内存,除零错误) 4. 被杀死 4. 进程层次 Windows: 没有层次的概念,所有进程地位相同 Linux:进程及进程的子女们组成进程组 5. 进程的三种状态: 1. 运行态(实际占用CPU) 2. 就绪态(可运行) 3. 阻塞态(等待外部事件) 6. 进程表:储存进程状态(程序计数器,堆栈指针,内存分配状况,打开的文件状态。账号等) 7. 中断向量:与每一个IO类关联 1. 中断发生时,中断硬件程序将进程表中的重要数据压入堆栈,计算机跳到中断向量的地址 2. 汇编语言设置新的堆栈(无法用C语言这类高级语言来描述) 8. 多道程序设计 1. 假设一个进程等待IO与停留在CPU的时间比为p,n个进程时,CPU使用率为 使用率 = 1 – p^n 2.2线程( HYPERLINK /way_testlife/archive/2011/04/16/2018312.html /way_testlife/archive/2011/04/16/2018312.html 进程与线程) 1. 定义:传统操作系统中,每个进程有一个地址空间和一个控制线程 2. 线程将应用程序分解成可以并行运行的多个顺序线程 3. 使用多线程的原因: 1. 并行实体共享同一个地址空间和所有可用数据的能力 2. 线程更轻量级,所以他们比进程更快创建和撤销 3. 同时需要大量IO和CPU计算时,多线程允许多个活动彼此重叠进行,从而加快执行速度 4. 多核系统中,多线程可以真正实现并行 5. 例子:多线程/单线程web服务器 1. 第三种设计(有限状态机: 并行,非阻塞系统调用,【中断】):唯一的线程对请求进行考察,如果需要IO,则启动一个非阻塞IO,服务器在表格里记录当前请求,然后处理下一个事项。 6. 线程模型 1. 进程:集中程序运行的相关资源(地址空间,全局变量等) 2. 线程:程序计数器,寄存器,堆栈,共享的地址空间,多个线程的执行能力。 7. 线程之间没有保护: 1. 不可能 2. 不需要(线程之间是合作关系) 8. 每个线程都有

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档