![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
绝世好阿狸
这个作者很懒,什么都没留下…
展开
-
【操作系统】内存分页技术
内存分页是操作系统存储管理的一项技术。是在“地址空间”概念上构建的机制。其思想是,假设一个进程需要M大小的逻辑空间,那么操作系统不为它分配全部M大小的空间,而是只分配部分空间。这种做法的好处是,可以提升物理内存的利用率,因为大多数的进程在执行时只需要部分指令进入内存,如果把全部的指令都放入内存,很多都不会被执行,如果把这些空间留给其他进程,使用率会更高。因此,只装入进程的部分指令更好。还有一点是,原创 2017-05-24 22:00:42 · 1109 阅读 · 0 评论 -
【操作系统】文件 目录
文件分为二进制文件和ascii码文件,不论哪一种,最终都是以二进制的形式存储在磁盘上的。磁盘在上一节介绍了,文件最终存放在磁盘的分区上,每一个分区又是分为很多的扇区,若干的扇区最终组成一个块,操作系统与磁盘交互是以块为单位进行的。所以在操作系统眼中,磁盘是以块为单位组织的,每一个块有块号。所以,文件存储的实现最重要的问题是搞清楚文件存放在哪些块上。关于文件与块的对应或者分配有如下四种方式:原创 2017-06-06 22:00:51 · 4997 阅读 · 0 评论 -
【操作系统】页面置换算法
分页就是是内存管理中的重要技术,使得一个进程的运行不需要全部载入到内存中,有利于多进程并行。在分页技术中,每一个进程分得的实际物理内存通常远远小于该进程的需求量,那么当进程请求的地址不在内存中时,只能从内存中换出一个页面,然后再调入所需要的页面,这个过程被称为页面置换,可以是全局的也可以是局部的。全局的置换指可以置换出其他进程的页面,而局部的只能置换出该进程的页面。有很多算法来处理只换过程。1原创 2017-06-03 21:14:47 · 799 阅读 · 0 评论 -
【操作系统】内存分段技术
内存管理中,虚拟地址和分页技术是很重要的概念和技术。虚拟地址的概念指的是程序有自己的逻辑地址,不同程序的逻辑地址由操作系统最后转换成物理地址,使得多道式程序设计成为可能。分页技术是交换技术的升级,交换技术的单位是整个进程,而分页交换的单元是页,分页使得内存中只要驻存进程的部分即可,而非整个进程。那么分段又是什么机制呢?在只使用分页的系统中,一个进程只有一个地址空间,而一个进程在运行时,需要原创 2017-06-02 21:36:46 · 1597 阅读 · 0 评论 -
【操作系统】进程调度算法
1.先到先服务:到达的时间先后2.最短作业优先:按执行时间,越短的越先执行。可以证明,如果任务都是同一时间来的,那么这个算法的平均周转时间最小。因为第一个执行的任务在平均值里面的权重最大。3.最短剩余时间:抢占式的算法,按照剩余时间4.时间片轮转:每一个进程都运行一个时间片,然后让给下一个进程。时间片设置过长,可能会导致周转时间变长,比如都是短时间任务,可能只用了一个时间片中很小的一部原创 2017-06-02 20:22:21 · 392 阅读 · 0 评论 -
【操作系统】系统分类 与 进程调度指标
操作系统大致可以分为三类:1.批处理:用户提交很多作业,然后系统依次处理。比如账单处理等。2.交互式:不同的用户会发起请求,系统处理。比如服务器。3.实时:任务通常有deadline,必须在deadline前完成。比如接受硬件设备传来的数据。度量进程调度算法的指标有:1.吞吐量:单位时间内完成的任务数目2.周转时间:任务提交到结束所用的时间3.cpu利用率原创 2017-06-02 19:54:49 · 720 阅读 · 0 评论 -
【操作系统】硬盘物理结构
从物理角度来看,通常磁盘就是一块,当然它是由若干盘面组成的。磁盘可以分区,可以分为主分区+扩展分区。主分区用于容纳操作系统,扩展分区就是除了主分区以外的其余分区,可以继续分为若干逻辑分区,即D,E,F盘。一块磁盘的物理结构如下:第一部分是MBR(主引导记录),包括了一段引导程序,分区表和结束符。引导程序用于加载操作系统所在的分区,也就是主分区。当机器启动以后,首先执行主板上的BIOS程序,原创 2017-06-06 18:03:55 · 849 阅读 · 0 评论 -
【操作系统】IO
最近在看《现代操作系统》一书,这本书讲解操作系统的结构比较清晰,做一个总结。该书主要以软件层次和硬件层次两个角度来讲解。IO硬件:第一个就是IO的设备了,比如磁盘,键盘等。第二个是设备控制器,这个在计算机内部,会包含若干接口,这个部件负责从设备读取或者向设备写入数据,并且提供了校验功能。这个设备内部有一个缓冲区,缓冲区包括了控制寄存器和数据区。cpu与设备进行交互,会把命令发送到设备控原创 2017-06-05 20:45:36 · 677 阅读 · 0 评论 -
【操作系统】磁盘臂调度算法
定位到所要的磁盘位置通常需要以下三个参数:寻道时间:定位到柱面的时间旋转延迟:定位到扇区的时间传输时间:读写数据的时间其中寻道时间占据了主要地位。因此也就有了磁盘臂调度算法。磁盘IO任务是以柱面为队列组织的。调度其实就是决定执行哪个柱面的任务。1.先来先服务。按照IO任务到达的时间,通常效率一般;2.最短寻道优先。距离当前磁头最近的柱面的IO任务优先,这个算法有失公平,可能原创 2017-06-04 20:06:07 · 2077 阅读 · 0 评论 -
【操作系统】信号量 (生产者与消费者问题)
1.信号量进程往往需要并行执行,这样cpu利用率更高。正如数据库系统中的并行事务一样,一旦并行就会引来一些问题。在进程并行中,主要问题来自于共享资源的使用,比如共享内存或者共享文件等。这里有两个概念,访问共享资源的代码称为临界区。信号量是dijkastra发明的一种用于同步进程的机制。每一种共享的资源都对应一个信号量s,s的初始值是共享资源的数目,为非负数。每一个信号量还要对应一个进程的指原创 2017-06-04 17:53:07 · 5600 阅读 · 0 评论 -
【操作系统】进程
进程是操作系统中的重要概念,描述了程序的运行信息。一个进程就是一次运行。可以把程序想象成类,进程就是实例。引入进程的概念有利于实现多程序并行的设计。每一个程序执行的时候可以大致分为IO任务和计算任务,如果一个进程正在IO,那么应该把cpu让给另一个进程执行计算任务,这样可以提升cpu的利用率,这就涉及到了程序执行的上下文切换,所以就引入了进程的概念。进程到底记录了哪些程序执行的信息呢?1,原创 2017-05-28 12:31:27 · 332 阅读 · 0 评论 -
【操作系统】存储管理
存储管理是操作系统的一个重要任务。存储管理主要指对内存的管理,即如何分配内存给不同的进程。1.物理内存。这是最简单的方式,进程直接使用物理地址,实现很简单,但是不利于多程序系统,因为一个程序对某一物理地址的修改可能影响到其他的进程,甚至是操作系统,造成严重后果,虽然有一些措施可以避免,比如加上保护位,但是仍会引发一些问题。2.地址空间。这个概念的思想是,每一个进程都有自己的逻辑地址原创 2017-05-24 22:18:30 · 869 阅读 · 0 评论 -
【操作系统】虚拟文件系统
一个系统中应当可以支持多个文件系统。但是由于每一个文件系统底层机制不同,操作系统如何兼容各个文件系统?这就是虚拟文件系统VFS的功能了。VFS是操作系统文件模块的一个软件层,对上面的用户空间提供统一的操作接口,同时也对下层提供了一套必须实现的接口。这个思想其实在软件工程中很常用,虽然文件系统底层实现不同,但是总是可以抽象出公共的部分,比如打开文件,读取文件等操作。所以这一层对底层的抽象是VFS原创 2017-06-08 18:51:21 · 618 阅读 · 0 评论