操作系统
文章平均质量分 79
JungleiRim
Stay hungry stay foolish.
展开
-
磁盘管理(初始化,引导块,坏块管理,固态硬盘)
管理扇区所需要的各种数据结构一般存放在头、尾两个部分,包括扇区校验码(如奇偶校验、CRC循环冗余校验码等,校验码用于校验扇区中的数据是否发生错误)对于简单的磁盘,可以在逻辑格式化时(建立文件系统时)对整个磁盘进行坏块检查,标明哪些扇区是坏扇区,比如:在 FAT表上标明。要写的页如果有数据,则不能写入,需要将块内其他页,全部复制到一个新的(擦除过的)块中,再写入新的页。SSD的一个"块"被擦除次数过多(重复写同一个块)可能会坏掉,而机械硬盘的扇区。,并将完整的“自举程序”读入内存,完成初始化。原创 2023-10-29 22:04:42 · 657 阅读 · 0 评论 -
减少磁盘读/写中延迟时间的方法(交替编号,错位命名)
结论:磁头读入一个扇区数据后需要一小段时间处理,如果`逻辑上相邻的扇区在物理上也相邻`,则读入几个连续的逻辑扇区,可能需要很长的“延迟时间”。原创 2023-10-29 21:12:45 · 259 阅读 · 0 评论 -
磁盘调度算法之先来先服务(FCFS),最短寻找时间优先(SSTF),扫描算法(SCAN,电梯算法),LOOK调度算法
扫描算法(SCAN)中,只有到达最边上的磁道时才能改变磁头移动方向,事实上,处埋了184号磁道的访问请求之后就不需要再往右移动磁头了。本例中,如果在处理18号磁道的访问请求时又来了一个38号磁道的访问请求,处理38号磁道的访问请求时又来了一个18号磁道的访问请求。C-SCAN算法的主要缺点是只有到达最边上的磁道时才能改变磁头移动方向,并且磁头返回时不一定需要返回到最边缘的磁道上。如果磁头移动的万同上已绘没有磁道访问请求了,就可以立即让磁头返回,并且磁头只需要返回到有磁道访问请求的位置即可。原创 2023-10-29 20:32:58 · 7115 阅读 · 1 评论 -
磁盘的结构(磁道,扇区,盘面,柱面,物理地址)
在“文件的物理结构”小节中,我们经常提到文件数据存放在外存中的几号块,这个块号就可以转换成(柱面号,盘面号,扇区号)的地址形式。磁盘会转起来,让目标扇区从磁头下面划过,才能完成对扇区的读/写操作。磁盘的表面由一些磁性物质组成,可以用这些磁性物质来记录二进制数据。需要把“磁头”移动到想要读/写的扇区所在的磁道。一个磁道又被划分成一个个扇区,每个扇区就是一个。最内侧磁道上的扇区面积最小,因此数据密度最大。,这样就完成了对指定扇区的读/写。这样的一个“圈”就是一个磁道。上的,因此所有磁头只能共进退。原创 2023-10-28 23:29:28 · 1454 阅读 · 0 评论 -
操作系统缓冲区管理(单缓冲,双缓冲,循环缓冲,缓冲池)
缓冲区是一个存储区域,可以由专门的硬件寄存器组成,也可利用内存作为缓冲区。使用硬件作为缓冲区的成本较高,容量也较小,一般仅用在对速度要求非常高的场合(如存储器管理中所用的联想寄存器,由于对页表的访问频率极高,因此使用速度很快的联想寄存器来存放页表项的副本)一般情况下,更多的是利用内存作为缓冲区,“设备独立性软件”的缓冲区管理就是要组织管理好这些缓冲区。原创 2023-10-27 23:51:15 · 2864 阅读 · 0 评论 -
设备的分配与回收(考虑因素,数据结构,分配步骤)
某用户进程第一次使用设备时使用逻辑设备名向操作系统发出请求,操作系统根据用户进程指定的设备类型(逻辑设备名)查找系统设备表,找到一个空闲设备分配给进程,并在LUT中增加相应表项。如果之后用户进程再次通过相同的逻辑设备名请求使用设备,则操作系统通过LUT表即可知道用户进程实际要使用的是哪个物理设备了,并且也能知道该设备的驱动程序入口地址。为进程分配一个设备后就将进程阻塞,本次I/O完成后才将进程唤醒。进程发出I/O请求后,系统为其分配I/O设备,进程可继续执行,之后还可以发出新的I/O请求。原创 2023-10-27 22:21:43 · 685 阅读 · 0 评论 -
假脱机技术(SPOOLing技术)
脱机:脱离主机的控制进行的输入输出操作。批处理阶段引入了脱机输入/输出技术(用磁带完成)在外围控制机的控制下,慢速输入设备的数据先被输入到更快速的磁带上。之后主机可以从快速的磁带上读入数据,从而缓解了速度的矛盾。原创 2023-10-27 21:06:48 · 2972 阅读 · 0 评论 -
输入/输出应用程序接口和设备驱动程序接口
不同的操作系统,对设备驱动程序接口的标准各不相同。设备厂商必须根据操作系统的接口要求,开发相应的设备驱动程序,设备才能被使用。操作系统规定好设备驱动程序的接口标准,各厂商必须按要求开发设备驱动程序。:应用程序发出I/O系统调用,系统调用可迅速返回,进程无需阻塞等待。get/put系统调用:向字符设备读/写一个字符。:应用程序发I/O系统调用进程需转为阻塞态等待。eg:字符设备接口―—从键盘读一个字符get。read/write系统调用︰向块设备的。read/write:从套接字读/写数据。原创 2023-10-26 23:09:42 · 832 阅读 · 0 评论 -
I/O软件层次结构(用户层软件,设备独立性软件,设备驱动程序,中断处理程序,硬件)
用户或用户层软件发出I/O操作相关系统调用的系统调用时,需要指明此次要操作的I/O设备的逻辑设备名(eg:去学校打印店打印时,需要选择打印机1/打印机2/打印机3,其实这些都是。理解并记住I/O软件各个层次之间的顺序,要能够推理判断某个处理应该是在哪个层次完成的(最常考的是设备独立性软件、设备驱动程序这两层。设备被看做是一种特殊的文件,不同用户对各个文件的访问权限是不一样的,同理,对设备的访问权限也不一样。根据设备类型选择调用相应的驱动程序。不同的I/O设备有不同的硬件特性,具体细节只有设备的厂家才知道。原创 2023-10-26 21:55:20 · 1358 阅读 · 0 评论 -
I/O控制方式(程序直接控制方式,中断驱动方式,DMA方式,通道控制方式)
CPU指明此次要进行的操作(如:读操作),并说明要读入多少数据、数据要存放在内存的什么位置、数据在外部设备上的地址(如:在磁盘上的地址)如果要读/写多个离散存储的数据块,或者要将数据分别写到不同的内存区域时,CPU要分别发出多条I/O指令,进行多次中断处理才能完成。极低,通道会根据CPU的指示执行相应的通道程序,只有完成一组数据块的读/写后才需要发出中断信号,请求CPU千预。由于I/O设备速度很慢,因此在CPU发出读/写命令后,可将等待l/O的进程阻塞,先切换到别的进程执行。原创 2023-10-25 23:21:03 · 3151 阅读 · 0 评论 -
I/O设备的概念和分类,I/O控制器
I/O”就是“输入/输出”(Input/Output)I/O设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件。UNIX系统将外部设备抽象为一种特殊的文件,用户可以使用与文件操作相同的方式对外部设备进行操作。原创 2023-10-25 20:52:35 · 1436 阅读 · 0 评论 -
文件系统的层次结构,全局结构,虚拟文件系统VFS以及文件挂载
文件系统需要向上层的用户提供一些简单易用的功能接口。这层就是用于处理用户发出的系统调用请求(Read、Write、Open、Close等系统调用)原创 2023-10-25 08:49:28 · 271 阅读 · 0 评论 -
文件保护(口令保护,加密保护,访问控制)
文件保护:保护文件数据的安全。原创 2023-10-24 13:32:22 · 345 阅读 · 0 评论 -
文件共享(硬链接,软链接)
注意:共享与复制的区别:各个用户的目录项指向同一个索引结点。索引结点,是一种文件目录瘦身策略。由于检索文件时只需用到文件名,因此可以将除了文件名之外的其他信息放到索引结点中。这样目录项就只需要包含文件名、索引结点指针。在一个Link 型的文件中记录共享文件的存放路径(Windows快捷方式)操作系统根据路径一层层查找目录,最终找到共享文件。原创 2023-10-24 13:31:26 · 174 阅读 · 0 评论 -
文件的基本操作(创建文件,删除文件,读写文件,打开文件,关闭文件)
需要提供的几个主要参数:1.所需的外存空间大小(如:一个盘块,即1KB)2.文件存放路径(“D:/Demo”)3.文件名(这个地方默认为“新建文本文档.txt”)原创 2023-10-23 23:02:22 · 850 阅读 · 0 评论 -
文件存储空间管理(空闲表法,空闲链表法,位示图法,成组链表法)
存储空间的划分:将物理磁盘划分为一个个文件卷(逻辑卷、逻辑盘).原创 2023-10-23 21:39:01 · 2015 阅读 · 0 评论 -
文件逻辑结构与物理结构对比(从用户,操作系统的角度)
本文讨论在操作系统中,文件的逻辑结构与物理结构的区分和联系,如果对文件的逻辑结构和物理结构的详解不清楚,请先去往本人博客学习: 文件的逻辑结构,文件的物理结构每个字符1B。在用户看来,整个文件占用一片连续的逻辑地址空间。Eg:你要找到第16个字符(编号从0开始)被操作系统拆分为若干个块,逻辑块号相邻。例如:用户使用c语言库函数fgetc,从读写指针所指位置读出1B内容。只需要指明逻辑地址。fgetc底层使用了Read系统调用,操作系统将(逻辑块号,块内偏移量)转换为(物理块号,块内偏移量)。逻辑上相原创 2023-10-21 23:15:14 · 230 阅读 · 0 评论 -
文件的物理结构(连续分配,链接分配,索引分配)
类似于内存分页,磁盘中的存储单元也会被分为一个个“块/磁盘块/物理块”。很多操作系统中,。内存与磁盘之间的数据交换(即读/写操作、磁盘I/O)都是以“块”为单位进行的。即每次读入一块,或每次写出一块。原创 2023-10-21 22:09:29 · 2727 阅读 · 0 评论 -
文件目录(文件控制块FCB,目录结构,索引结点)
目录文件中的一条记录就是文件控制块(FCB)FCB的有序集合称为“文件目录”,一个FCB就是一个。原创 2023-10-20 23:27:25 · 1760 阅读 · 0 评论 -
文件的逻辑结构(顺序文件,索引文件)
所谓的“逻辑结构”,就是指在用户看来,文件内部的数据应该是如何组织起来的。而“物理结构”指的是在操作系统看来,文件的数据是如何存放在外存中的。原创 2023-10-20 11:09:16 · 1159 阅读 · 0 评论 -
文件管理系统的基本认识
文件的定义:一组有意义的信息的集合。原创 2023-10-19 22:37:40 · 392 阅读 · 0 评论 -
内存映射文件
内存映射文件:操作系统向上层程序员提供的功能(系统调用)原创 2023-10-19 21:06:12 · 189 阅读 · 0 评论 -
页面分配策略(驻留集,工作集,抖动现象)
驻留集:指请求分页存储管理中给进程分配的物理块的集合。在采用了虚拟存储技术的系统中,驻留集大小一般小于进程的总大小。原创 2023-10-19 20:42:50 · 1885 阅读 · 0 评论 -
页表置换算法之最佳置换算法(OPT),先进先出置换算法(FIFO),最近最久未使用置换算法(LRU),时钟置换算法(CLOCK)
最佳置换算法(OPT,Optimal):每次选择淘汰的页面将是以后永不使用,或者在最长时间内不再被访问的页面这样可以保证最低的缺页率。先进先出置换算法(FIFO):每次选择淘汰的页面是最早进入内存的页面。最近最久未使用置换算法(LRU,least recently used):每次淘汰的页面是最近最久未使用的页面。原创 2023-10-19 19:53:48 · 8347 阅读 · 0 评论 -
请求分页管理方式(页表机制,缺页中断,地址变换)
(如: copy A to B,即将逻辑地址A中的数据复制到逻辑地址B,而A、B属于不同的页面,则有可能产生两次中断)如果内存中没有空闲块,则由页面置换算法选择一个页面淘汰,若该页面在内存期间被修改过,则要将其写回外存。3.缺页中断是因为当前执行的指令想要访问的目标页面未调入内存而产生的,因此属于。1.在请求分页系统中,每当要访问的页面不在内存时,便产生一个。与基本分页管理相比,请求分页管理中,为了实现“请求调页”,,将所缺页面装入该块,并修改页表中相应的页表项。此时缺页的进程阻塞,放入阻塞队列,调页。原创 2023-10-17 21:25:57 · 1277 阅读 · 0 评论 -
虚拟内存技术的基本概念(局部性原理,特征,实现)
基于局部性原理,在程序装入时,可以将程序中很快会用到的部分装入内存,暂时用不到的部分留在外存,就可以让程序开始执行。在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存。在操作系统的管理下,在用户看来似乎有一个比实际内存大得多的内存,这就是虚拟内存。原创 2023-10-17 16:09:58 · 357 阅读 · 0 评论 -
段页式管理方式(段表和页表结合,地址转换)
分段管理中产生的外部碎片也可以用“紧凑”来解决,只是需要付出较大的时间代价。“分段”对用户是可见的,程序员编程时需要显式地给出段号、段内地址。每个页面对应一个页表项,每个页表项由页号、页面存放的内存块号组成。系统会根据段内地址自动划分页号和页内偏移量。而将各段“分页”对用户是不可见的。每个页表项长度相等,页号是隐含的。段页式系统的逻辑地址结构由。原创 2023-10-17 15:42:22 · 428 阅读 · 0 评论 -
基本分段存储管理方式(分段,段表,地址转换以及与分页管理对比)
按照程序自身的逻辑关系划分为若干个段,每个段都有一个段名(在低级语言中,程序员使用段名来编程),每段从0开始编址.原创 2023-10-16 23:14:27 · 2140 阅读 · 2 评论 -
两级页表(单级页表存在的问题,两级页表的地址转换)
根据局部性原理可知,很多时候,进程在一段时间内只需要访问某几个页面就可以正常运行了。因此没有必要让整个页表都常驻内存。原创 2023-10-16 16:02:30 · 397 阅读 · 0 评论 -
具有快表的地址变换机构(实现逻辑地址到物理地址转换)
快表,又称是一种的高速缓存(TLB不是内存!),用来存放最近访问的页表项的副本,可以加速地址变换的速度。与此对应,内存中的页表常称为慢表。原创 2023-10-15 23:17:29 · 535 阅读 · 1 评论 -
基本地址变换机构(实现逻辑地址到物理地址转换)
基本地址变换机构:用于实现逻辑地址到物理地址转换的一组硬件机构。关于页号页表的定义,放个本人的。原创 2023-10-15 20:49:08 · 493 阅读 · 0 评论 -
非连续分配管理方式之基本分页存储管理(页表,逻辑地址结构)
连续分配:为用户进程分配的必须是一个连续的内存空间。非连续分配:为用户进程分配的可以是一些分散的内存空间。基本分页存储管理的思想∶把进程分页,各个页面可离散地放到各个的内存块中。原创 2023-10-14 23:40:55 · 323 阅读 · 0 评论 -
动态分区分配算法之首次适应算法,最佳适应算法,最坏适应算法以及邻近适应算法
每次都从低地址开始查找,找到第一个能满足大小的空闲分区。原创 2023-10-13 23:32:15 · 2823 阅读 · 0 评论 -
内存空间的分配与回收之连续分配管理方式
连续分配:指为用户进程分配的必须是一个。原创 2023-10-13 22:29:41 · 464 阅读 · 0 评论 -
内存空间扩充之进程覆盖技术,交换技术
人们引入了覆盖技术,用来解决“程序大小超过物理内存总和”的问题。原创 2023-10-13 08:46:48 · 353 阅读 · 0 评论 -
内存管理的概念
操作系统负责内存空间的分配与回收。原创 2023-10-12 23:50:07 · 73 阅读 · 0 评论 -
内存概念,进程运行的基本原理(指令,逻辑地址与物理地址的转换,程序运行的过程)
内存可存放数据。程序执行前需要先放到内存中才能被CPU处理:缓和CPU与硬盘之间的速度矛盾。原创 2023-10-11 23:44:33 · 632 阅读 · 0 评论 -
进程死锁的处理策略之预防死锁,避免死锁(银行家算法)以及死锁的检测和解除
知识回顾:死锁的产生必须满足四个必要条件,只要其中一个或者几个条件不满足,死锁就不会发生。原创 2023-10-11 21:42:59 · 1881 阅读 · 0 评论 -
进程死锁的定义,必要条件,发生时机以及相关处理策略
哲学家进餐问题中,如果5位哲学家进程并发执行,都拿起了左手边的筷子…每位哲学家都在等待自己右边的人放下筷子,这些哲学家进程都因等待筷子资源而被阻塞。即发生“死锁”在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致各进程都阻塞,都无法向前推进的现象,就是“发生死锁后若无外力干涉,这些进程都将无法向前推进。原创 2023-10-10 16:04:06 · 235 阅读 · 0 评论 -
管程的定义以及基本特征
1.局部于管程的共享数据结构说明;2.对该数据结构进行操作的一组过程;3.对局部于管程的共享数据设置初始值的语句;4.管程有一个名字。原创 2023-10-10 15:27:08 · 208 阅读 · 0 评论