操作系统
stable_阿甘
用心学习,用心做事
展开
-
5 磁盘管理和文件系统
一、生磁盘的使用1.1 认识磁盘 概念: 磁头与磁臂相连,磁臂能将磁头作为一个整体而一起移动。磁盘片的表面被逻辑地划分成圆形磁道,磁道再进一步划分成扇区,一个扇区大小通常为 512B。位于同一磁臂位置地磁道集合形成了柱面。 磁盘的访问时间: 1.2 最直接的直接使用磁盘 当使用磁盘时,先将磁头移动到指定的柱面(cycle),然后旋转盘片到指定的扇区(segment),最后给磁头(head)通电,旋转盘面读取数据。所以,要使用磁盘,就是找到对应的 CHS。1.3 通过盘块号读写磁盘原创 2020-05-19 16:09:10 · 406 阅读 · 0 评论 -
4.2 虚拟内存
一、虚拟内存概述1.1 什么是虚拟内存 虚拟内存将内存抽象成一个巨大的,统一的数组,进而将用户看到的逻辑内存与物理内存分开,使用户程序产生已经被分配了连续内存的错觉。使得我们编程时不再受物理内存大小的限制。虚拟内存通过按需分配物理内存空间,所以内存中可以载入更多的程序,提高了并发度。二、基于虚拟内存的换入换出2.1 按需调页(换入)2.1.1 定义 按需调页就是先将进程保存在磁盘上,在需要的时候才将相应的页调入内存。2.1.2 实现方法 当进程访问页时,先检查进程内部页表,如果页表中原创 2020-05-19 15:57:55 · 437 阅读 · 0 评论 -
4.1 内存管理
文章目录一、内存如何用起来1.1 为进程绑定地址1.2 逻辑地址和物理地址二、分段2.1 分段的引入2.2 如何使用分段三、内存分区与内存分配算法3.1 内存分区3.2 内存分配算法四、分页4.1 分页的引入4.2 页表映射的例子:五、多级页表5.1 多级页表的引入5.2 二级页表节省空间的示例六、快表6.1 快表的引入6.2 如何使用快表6.3 快表很小,为什么命中率依然高一、内存如何用起来1.1 为进程绑定地址 内存使用的方法就是先把程序加载到内存中,程序的每条指令和数据在内存中都有相应的位置,原创 2020-05-19 15:49:38 · 543 阅读 · 0 评论 -
3.3 进程同步
一、信号量1.1 引入信号量 下列是一段最简单的生产者与消费者的代码: 二者通过 counter 来作为信号进行协作,但是这里存在一个问题,就是如果有两个生产者 P1 和 P2,当缓冲区满的时候,P1 和 P2 都被挂起,然后消费者消费了一个数据,P1 被唤醒,此时 counter 就小于 BUFFER_SIZE 了,所以 P2 可能永远不被唤醒。 导致上述问题的关键在于信号能够表示的信息太少了,它只表示了是否有进程正在被挂起,而没有表示当前挂起了几个进程,所以这里就引入了一个数据结构——信原创 2020-05-19 15:40:38 · 282 阅读 · 0 评论 -
3.2 进程调度
一、调度准则CPU 使用率:需要使 CPU 尽可能忙。吞吐量:一个时间单元内完成的进程数量。对于长进程,吞吐量可能为每小时一个进程;对于短进程,吞吐量可能为每秒 10 个进程。周转时间:从进程提交到进程完成的时间段称为周转时间。等待时间:进程在就绪队列中等待所花费的时间之和。响应时间:从提交请求到产生第一响应的时间。进程调度准则就是要:①使 CPU 使用率和吞吐率最大化,②周转时间、等待时间和响应时间最小化。这两个准则是互相矛盾的,不可能同时满足,所以要综合考虑。二、C原创 2020-05-19 15:34:09 · 506 阅读 · 0 评论 -
3.1 进程管理概述
一、CPU 管理的直观想法 CPU 的工作原理就是取指执行,但如果遇到 IO 操作,那么 CPU 将等待 IO 的完成,IO 操作的速度很慢,V(cpu) :V(IO) = 10^6:1,也就是说,执行一个 IO 操作,CPU 能执行 10^6 条指令,所以为了充分利用 CPU,就要在 IO 的时候运行其它程序。 这里引出了一个概念,并发:并发是 CPU 交替执行多个程序。 为了完成在运行着的程序之间切换,就必须保存程序的状态,所以这里就引出了进程的概念,进程相较于程序而言是有状态的,进程的状态原创 2020-05-19 15:31:15 · 151 阅读 · 0 评论 -
2. 系统调用
一、操作系统接口 操作系统接口是连接操作系统和应用软件的函数,表现为系统调用二、系统调用2.1 什么是系统调用 根据进程访问资源的特点,可以把进程在系统上的运行分为两个级别:用户态:可以直接读取用户程序的数据的进程;内核态:可以访问计算机任何资源的进程 凡是与系统态级别的资源有关的操作(如文件管理、进程控制、内存管理等)都必须通过系统调用方式向操作系统提出服务请求,并由操作系统代为完成。 系统调用功能大致分类:设备管理:完成设备的请求、释放、启动等功能;文件管理:完成原创 2020-05-19 15:07:43 · 214 阅读 · 0 评论 -
1. 操作系统概述
一、什么是操作系统 操作系统是计算机上的一个软件,负责管理硬件资源来方便应用程序,同时提高硬件资源的使用效率。操作系统分为内核与 shell(shell 就是能够让用户操作的应用程序,比如命令行和图形化界面,内核是能操作硬件的程序,是操作系统的核心) 管理的硬件有:CPU 管理、内存管理、终端管理、磁盘管理、文件管理、网络管理、电源管理、多核管理。二、电脑开机的过程CPU 寻址 0xFFFF0 (ROM BIOS,Basic Input Ouput System,它是一组固化到计算机内主板上一原创 2020-05-19 15:04:04 · 154 阅读 · 0 评论 -
3.4 死锁
一、死锁概述1.1 什么是死锁 如果一个进程集合中的每隔进程都在等待只能由该进程集合中的其他进程才能引发的事件,那么,该进程就是死锁的。 在大多数情况下,每个进程等待的事件是释放该进程集合中其他进程所占有的资源。比如:A 在等 B 释放资源才能运行完成,而 B 在等 A 释放资源才能完成,这就产生了死锁。1.2 死锁产生的条件互斥:每个资源要么已经分配给了一个进程,要么就是可用的(...原创 2020-04-19 22:18:52 · 498 阅读 · 0 评论