★ Operating System
烟敛寒林o
谋事在人,成事在天。
展开
-
操作系统基本概念、特征、发展和分类、运行机制和体系结构
一、操作系统的概念操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件。从操作系统的概念上可以看出:操作系统是系统资源的管理者(资源包括软件、硬件、文件等) 作为用户和计算机硬件之间的接口 向上层提供方便易用的服务 操作系统是最接近硬件的一种系统软件二、操作系统的特征并发、共享、虚拟、异步2.1 并发..原创 2020-08-10 00:10:31 · 5275 阅读 · 0 评论 -
操作系统5.1.2 I/O控制器
一、I/O设备组成I/O设备由机械部件和电子部件组成,电子部件包括(I/O控制器、设备控制器)1、I/O设备的机械部件:I/O设备的机械部件主要用来执行具体I/O操作。 如我们看得见摸得着的鼠标/键盘的按钮;显示器的LED屏;移动硬盘的磁臂、磁盘盘面。 I/O设备的电子部件通常是一块插入主板扩充槽的印刷电路板。2、I/O设备的电子部件(I/O控制器)CPU无法直接控制I/O设备的机械部件,因此I/O设备还要有一个电子部件作为CPU和I/O设备机械部件之间的“中介”,用于实现CPU对设备原创 2020-07-17 10:09:25 · 901 阅读 · 0 评论 -
操作系统5.1.1 I/O设备的基本概念和分类
本节先了解I/O设备及其分类,前面提到操作系统作为资源的管理者,需要提供的主要功能有处理机管理(进程管理),存储器管理、文件管理、设备管理。前面的处理机、存储器管理等都是主机内部的硬件,而对设备管理是对主机外部的硬件进行管理。所以先需要了解I/O设备及其分类。一、I/O设备“I/O”即“输入和输出”(Input/OutPut)。I/O设备就是可以将数据输入到计算机,或者可以接受计算机输出数据的外部设备,属于计算机的硬件部件。例如鼠标、键盘就是典型的输入设备 显示器就是典型原创 2020-07-16 19:25:57 · 2419 阅读 · 0 评论 -
操作系统4.2.4 磁盘的管理
一、磁盘初始化进行低级格式化(物理格式化),将磁盘的各个磁道划分为扇区。一个扇区通常可分为头、数据区域(如512B大小)、尾三个部分组成。管理扇区所需要的各种数据结构一般存放在头、尾两个部分,包括扇区校验码(如奇偶校验、CRC循环冗余校验码等,校验码用于校验扇区中的数据是否发生错误) 将磁盘分区,每个分区由若干柱面组成(即分为我们熟悉的C盘、D盘、E盘) 进行逻辑格式化,创建文件系统。包括创建文件系统的根目录、初始化存储空间管理所用的数据结构(如位示图、空闲分区表)二、引导块计算机..原创 2020-07-16 16:40:56 · 566 阅读 · 0 评论 -
操作系统4.2.3 减少延迟时间的方法
在上一小节中提到一次读/写磁盘所需的时间分为三个部分:寻道时间、延迟时间、传输时间。其中延迟时间和传输时间是硬盘的转速这个固有属性来决定的,所以操作系统无法优化来减少这两个时间。上文介绍了几种磁盘调度算来及减少寻道时间,本文介绍两种方法来减少延迟时间。一、交错编号假设需要连续的读取橙色区域的2、3、4扇区,磁头已经移动到最内侧的磁道。磁头读取一块的内容(也就是一个扇区的内容)后,需要一小段时间处理,而在处理的时间内盘片又在不停地旋转。因此,如果2、3号扇区相邻着排列,则读完.原创 2020-07-16 16:29:02 · 1121 阅读 · 0 评论 -
操作系统4.2.2 磁盘调度算法
一、一次磁盘读/写操作需要的时间①寻找时间(寻道时间)Ts:在读/写数据前,需要将磁头移动到指定磁道所花费的时间。寻道时间分两步:启动磁头臂消耗的时间:s。 移动磁头消耗的时间:m * n。假设磁头匀速移动,每跨越一个磁道消耗时间为m,共跨越n条磁道。 则寻道时间Ts= s + m * n。磁头移动到指定的磁道,但是不一定正好在所需要读/写的扇区,所以需要通过磁盘旋转使磁头定位到目标扇区。②延迟时间TR(转动磁盘的时间):通过旋转磁盘,使磁头定位到目标扇区所需要的时间。设磁...原创 2020-07-16 10:13:37 · 6000 阅读 · 3 评论 -
操作系统4.2.1 磁盘的结构
一、磁盘、磁道、扇区磁盘的表面是由一些磁性物质组成,可以用这些磁性物理记录二进制数据。磁盘表面被划分长的一个个磁道。一个磁道又被划分为一个个扇区,每个扇区就是一个“磁盘块”。每个扇区的数据量相同(如1KB)。靠最内侧的磁道上的扇区面积最小,由于每个扇区的数据量相同,因此其数据密度最大。二、如何在磁盘中读/写数据在磁盘中读写数据,需要借助磁头,将磁头移动到想要读/写的扇区所在的磁道,让目标扇区从磁头下面划过,才能完成对扇区的读/写操作。三、盘面、...原创 2020-07-15 10:15:48 · 546 阅读 · 1 评论 -
操作系统4.1.8 文件保护
文件保护有三种方式:口令保护、加密保护、访问控制。一、口令保护口令保护:为文件设置一个口令,用户请求访问该文件时必须提供口令。口令一般存放在文件对应的FCB或索引节点中。用户访问文件前需要先输入口令,操作系统会将用户提供的口令和FCB中存储的口令进行对比,如果正确,则允许用户访问文件。优点:保存口令的空间开销不多,验证口令的时间开销也很小。缺点:正确的口令存放在系统内部,不够安全。二、加密保护加密保护:使用某个“密码”对文件加密,在访问文件时需要提供正确的“密码”才能..原创 2020-07-12 15:17:31 · 2207 阅读 · 2 评论 -
操作系统4.1.7 文件共享
文件保护看下一小节。一、基于索引结点的共享方式(硬链接)索引结点,是一种文件目录瘦身策略,由于检索文件时只需用到文件名,因此可以将除了文件名之外的其他信息放到索引结点中。这样目录项就只需要包含文件名、索引结点指针。索引结点中设置一个链接计数变量count, 用于表示链接到本索引结点上的用户目录项数。1)若 count= 2,说明此时有两个用户目录项链接到该索引结点上,或者说是有两个用户在共享此文件。2)若某个用户决定“删除”该文件,则只是要把用户目录中与该文件对应的目录项...原创 2020-07-12 15:03:29 · 512 阅读 · 0 评论 -
操作系统4.1.5 文件存储空间管理
本节学习需要注意的三个方面:用什么方式记录、组织空闲块? 如何分配磁盘块 如何回收磁盘块一、存储空间的划分与初始化存储空间的划分(为磁盘分区):将物理磁盘划分为一个个文件卷(逻辑卷、逻辑盘)在存储空间初始化时,需要将各个文件卷划分为目录区、文件区。目录区:主要存放文件目录信息(FCB)、用于磁盘存储空间管理的信息 文件区:主要存放文件数据有些系统支持超大型文件,可支持由多个物理磁盘组成一个文件卷,如下图。二、存储空间管理——空闲表法空闲表法:即...原创 2020-07-12 09:55:27 · 1765 阅读 · 1 评论 -
操作系统4.1.4 文件的物理结构(文件分配方式)
本节内容非常重要,必考选择题,甚至出大题。一、文件块、磁盘块在内存管理中,进程的逻辑地址地址空间被分为了一个个页面。同样的,在外存管理中,为了方便对文件数据的管理,文件的逻辑地址空间被分为了一个个文件“块”。于是文件的逻辑地址页可以表示为(逻辑块号,块内地址)的形式。二、文件分配方式1、连续分配2、链接分配1)隐式分配2)显式分配3、索引分配...原创 2020-07-10 14:40:14 · 7092 阅读 · 10 评论 -
操作系统4.1.3 文件目录
目录本身就是一种有结构文件,由一条条记录组成。每条记录对应一个在该放在该目录下的文件。一、文件控制块目录文件中的一条记录就是一个“文件控制块(FCB)”。FCB 的有序集合称为“文件目录”,一个 FCB 就是一个文件目录项。FCB 中包含了文件的基本信息(文件名、物理地址、逻辑结构、物理结构等),存取控制信息(是否可读/可写、禁止访问的用户名单等),使用信息(如文件的建立时间、修改时间等)。最重要、最基本的还是文件名、文件存放的物理地址。二、目录操作搜索:当用户要使用一...原创 2020-07-07 18:34:14 · 835 阅读 · 0 评论 -
操作系统4.1.2 文件的逻辑结构
一、按文件结构分1、无结构文件(流式文件)文件内部数据由一系列二进制流或字符流组成2、有结构文件(记录式文件)文件内部数据由 一组相似记录组成,每条记录由若干个数据项组成,每条记录有一个数据项可作为关键字记录:分为定长记录和可变长记录(常用)二、按组织形式分1、顺序文件文件中的记录一个接一个地按顺序排列(逻辑上),记录可以是定长的或可变长的。各个记录在物理上可以顺序存储或链式存储。1)顺序文件的排列方式2)顺序文件的特性及优缺点2、索引..原创 2020-07-07 17:58:37 · 561 阅读 · 1 评论 -
操作系统4.1.1 文件管理
1、计算机中的文件有哪些属性?文件名(同一目录下不允许有重名文件) 标识符(各个文件都有唯一的标识符) 类型(后缀名) 位置 大小 保护信息2、文件内部数据应该怎样组织?下一小节会进行介绍3、文件之间又应该怎么组织起来?通过目录结构将其组织起来,如何实现文件目录是之后会重点探讨的问题4、操作系统向上提供哪些功能?创建文件create 读文件read 写文件write 删除文件delete 打开文件open 关闭文件close注:读/...原创 2020-07-07 16:45:06 · 253 阅读 · 0 评论 -
操作系统3.1.7 基本地址变换机构
一、基本地址变换结构基本地址变换结构可以借助进程的页表将逻辑地址转换为物理地址。通常在系统中设置一个页表寄存器(PTR Page-Table Register),存放页表在内存中起始地址F和页表长度M。进程在未执行时,页表的起始地址和页表长度放在进程控制块(PCB)中,当进程被调度时,操作系统内核会把它们放在页表寄存器中。逻辑地址到物理地址变换的过程:计算页号P和页内偏移量W(如果用手算,P=A/L,W=A%L;但是在计算机实际运行中,逻辑地址结构是固定不变的,因此计算...原创 2020-07-07 10:50:16 · 2899 阅读 · 1 评论 -
操作系统3.1.6 基本分页存储管理
回顾:连续分配方式的缺点支持多道程序的两种连续分配方式:1、固定分区分配:缺乏灵活性,会产生大量的内部碎片,内存利用率低2、动态分区分配:会产生很多外部碎片,虽然可以用紧凑技术处理,但是代价很高因此人们思考能否将一个进程分散地装入许多不相邻的分区中,便可以充分地利用内存,而无需再进行紧凑技术了。基于此,引入非连续分配方式(离散分配方式)。一、把“固定分区分配”改造为“非连续分配版本”假设进程A大小为23MB,但是每个分区大小只有10MB,如果进程只能占用一个分区,显然放.原创 2020-07-06 23:51:36 · 1507 阅读 · 0 评论 -
操作系统3.1.5 动态分区分配算法
在动态分区分配方式中,当很多个空闲分区都能满足需求时,应该选择哪个分区进行分配?一、首次适应算法(First Fit)1、算法思想:每次都从低地址部分开始查找,找到第一个能满足大小的空闲分区2、如何实现:空闲分区以地址递增的次序排列。每次分配内存时顺序查找空闲分区链(或空闲分区表),找到大小能满足要求的第一个空闲分区给进程5分配空间:二、最佳适应算法(Best Fit)1、算法思想:由于动态分区分配是一种连续分配方式,为各个进程分配的空间必须是一整片区域,因此..原创 2020-07-02 10:41:21 · 881 阅读 · 1 评论 -
操作系统3.1.4 连续分配管理方式
连续分配:意味着为用户进程分配的必须是一个连续的内存空间。一、单一连续分配在单一连续分配方式中,内存被分为系统区和用户区,系统区通常位于内存的地址部分,用于存放系统相关数据;用户区用于存放用户进程相关数据。内存中只能有一道用户程序,用户程序独占整个用户区空间。优点:实现简单,无外部碎片缺点:只能用于单用户,单任务的操作系统;有内部碎片;存储器利用率极其低内存碎片:指分配给某进程的内存区域中,如果有些部分没有用上,就是“内部碎片”二、固定分区分配20...原创 2020-07-01 11:25:54 · 351 阅读 · 0 评论 -
操作系统3.1.3 内存空间扩充技术(覆盖与交换)
本节主要讲覆盖技术和交换技术,虚拟存储技术在后续小节会详细展开。实现内存空间扩充的技术一、覆盖技术用于解决“程序大小超过物理内存总和”的问题。思想:将程序分为多个段,常用的段常驻在内存,不常用的段在需要时才从外存调入内存。内存中分为一个“固定区”和若干个“覆盖区”,需要常驻内存的段放在“固定区”,调入后就不再调出(除非运行结束)。不常用的段,放在覆盖区中,需要用的时候调入内存,用不到时调出内存。一个固定区:存放最活跃的程序段,固定区的程序在运行过程中不会调入调出...原创 2020-07-01 10:42:14 · 3749 阅读 · 0 评论 -
操作系统3.1.2 内存管理的概念
一、内存空间的分配和回收操作系统负责内存空间的分配与回收。后面会有专门的小节进行介绍。二、内存空间的扩充(实现虚拟性)操作系统需要提供某种技术从逻辑上对内存空间进行扩充。三、地址转换操作系统负责实现逻辑地址到物理地址的转换。三种装入方式:1、绝对装入:编译时产生绝对地址(单道程序阶段,此时还没有操作系统)2、可重定位装入:装入时将逻辑地址转换为物理地址(早期的多道批处理阶段)3、动态重定位装入:运行时将逻辑地址转换为物理地址,需设置重定位寄存器(现代操作系统)..原创 2020-07-01 10:00:28 · 257 阅读 · 0 评论 -
操作系统2.4.4 死锁的检测和解除
一、死锁检测为了能系统是否已经发生死锁进行检测,必须1、用一种数据结构来保存资源的请求和分配信息2、用一种算法,利用上述信息来检测系统是否进入死锁状态如果系统中剩余的可用资源足够满足进程的需求,那么这个进程暂时不会被堵塞,可以顺利执行下去。如果这个进程执行结束了把资源归还给系统,就可能使得某些正在等待的进程被激活,并且顺利的执行下去。相应地,这些被激活的进程执行完之后又会归还一些资源,这样可能激活另外一些阻塞的进程...如果按上述过程,最终能消除所有的边,就称这个图是可以..原创 2020-06-28 10:27:04 · 503 阅读 · 0 评论 -
操作系统2.4.3 避免死锁(银行家算法)
一、什么是安全序列所谓的安全序列,就是指系统如果按照这种序列分配资源,则每个进程都能顺利完成。只要能找出一个安全序列,系统就处于安全状态。当然,安全序列可以有多个。二、安全序列、不安全状态、死锁的联系如果分配资源后,系统中找不出任何一个安全序列,系统就进入了不安全状态。这就意味着之后可能所有的进程都无法顺利执行下去。当然,如果有进程提前归还了一些资源,那么系统也有可能重新回到安全状态,不过我们在分配资源之前总是要考虑到最坏的情况。如果系统处于安全状态,就一定不会发生死锁。如果系.原创 2020-06-27 10:21:16 · 3078 阅读 · 0 评论 -
操作系统2.4.2 预防死锁
一、静态策略:预防死锁1)破坏互斥条件互斥条件:只有对必须互斥使用的资源的争抢才会导致死锁破坏互斥条件:如果把只能互斥使用的资源改造成允许共享使用,则系统不会进入死锁状态。比如SPOOLing技术可以把独占设备在逻辑上改造成共享设备。该策略的缺点:并不是所有的资源都可以改造成可以共享使用的资源。并且为了系统安全,很多地方还必须保护这种互斥性。因此,很多时候无法破坏互斥条件2)破坏不剥夺条件不剥夺条件:进程所获得的资源在未使用完之前,不能由其他进程强行夺走,只能...原创 2020-06-26 15:55:12 · 1161 阅读 · 0 评论 -
操作系统2.4.1 死锁的概念
一,什么是死锁?多个进程因竞争资源而导致各进程都阻塞(相互等待)。若无外力作用,这些进程都将无法向前推进。二,进程死锁、饥饿、死循环的区别死锁:各个进程互相等待对方手中的资源,导致各个进程都堵塞无法向前推进的现象饥饿:由于长期得不到想要的资源,某进程无法向前推进的现象。比如:短进程优先算法(SPF)中,若有源源不断的短进程到来,则长进程就一直得不到处理机,从而发生长进程的饥饿死循环:某进程执行过程中一直跳不出某个循环的现象。有时候是因为程序逻辑bug,有时是程序员故意设计的.原创 2020-06-26 15:16:20 · 592 阅读 · 0 评论 -
操作系统2.3.11 管程
一、为什么要引入管程为了实现进程的同步,互斥操作,我们引入了信号量机制。但信号量机制存在问题:我们编写程序困难,容易出错。于是为了方便实现进程的同步,互斥操作提出了管程。二、管程的组成和基本特性1、管程的组成2、管程的基本特性1)局部于管程的数据只能被局部于管程内的过程所访问2)一个进程只有通过调用管程内的过程才能进入管程访问共享数据3)每次仅允许一个进程在管程内执行某个内部过程三、用管程解决生产者消费者问题//管程monitor Produc..原创 2020-06-25 14:55:29 · 619 阅读 · 0 评论 -
操作系统原理第五章 -- 虚拟存储器
计算机操作系统(第四版)一、 知识点总结1,虚拟存储技术目的:提高内存利用率2,请求分页系统是建立在基本分页的基础上的,为了能支持虚拟存储器功能而增加了请求调页功能和页面置换功能。3,为了实现请求分页,系统必须提供一定的硬件支持。除了需要一台具有一定容量的内存及外存的计算机系统外,还需要有页表机制、缺页中断机构以及地址变换机构。4,多次性、对换性和离散性是虚拟内存的特征;一次性...原创 2019-06-09 17:09:04 · 3293 阅读 · 3 评论 -
操作系统原理第四章 -- 存储器管理
计算机操作系统(第四版)一、 知识点总结1,存储器的多层结构:内存、外存、高速缓存2,★分配方式:段页式存储管理3,★分区分配算法:4,离散分配方式基本单位是页或段5,对主存储器的访问,是以字节或字为单位6,在分页存储管理中,主存的分配是以页框为单位进行7,在分页存储管理中,逻辑地址分配是按页为单位进行分配物理地址分配是以内存块为单位分配的。...原创 2019-06-09 03:08:02 · 3261 阅读 · 0 评论 -
操作系统原理第三章 -- 死锁
计算机操作系统(第四版)一、死锁的知识点1,死锁的定义:如果一组进程中的每一个进程都在等待仅由该组进程中的其它进程才能引发的事件,那么该组进程是死锁的。(两个或两个以上的进程等候着一个永远不会发生的事件时所取的一种系统状态)2,★产生死锁的四个必要条件:(1) 互斥条件:一个资源每次只能被一个进程使用。(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的...原创 2019-05-14 20:34:36 · 1892 阅读 · 0 评论 -
操作系统原理第三章 -- 处理机调度
计算机操作系统(第四版)一、关于处理机调度的问题什么是处理机三级调度 处理机三级调度分别在什么情况下发生 各级调度分别完成什么工作 三种调度的区别(1) 操作系统中有三级调度:高级调度(作业调度) 中级调度(交换调度) 低级调度(进程调度)它们构成系统内的多级调度。不同类型的操作系统不一定完全都实现上述三种调度。(2) 处理机三级调度分别在如下情况下发生...原创 2019-05-07 23:19:21 · 5596 阅读 · 0 评论