无锡网站推广优化费用,免签约收款WordPress,移动端关键词排名优化,北京专业网站建设公司操作系统知识 操作系统概述 操作系统定义#xff1a;能有效地组织和管理系统中的各种软/硬件资源#xff0c;合理地组织计算机系统工作流程#xff0c;控制程序的执行#xff0c;并且向用户提供一个良好的工作环境和友好的接口。操作系统有三个重要的作用#xff1a; 管理… 操作系统知识 操作系统概述 操作系统定义能有效地组织和管理系统中的各种软/硬件资源合理地组织计算机系统工作流程控制程序的执行并且向用户提供一个良好的工作环境和友好的接口。操作系统有三个重要的作用 管理计算机中运行的程序和分配各种软硬件资源为用户提供友善的人机界面。为应用程序的开发和运行提供一个高效率的平台。 操作系统的4个特征是并发性、共享性、虚拟性和不确定性。操作系统的功能 进程管理。实质上是对处理机的执行“时间”进行管理采用多道程序等技术将CPU的时间合理地分配给每个任务主要包括进程控制、进程同步、进程通信和进程调度。文件管理。主要包括文件存储空间管理、目录管理、文件的读/写管理和存取控制。存储管理。存储管理是对主存储器“空间”进行管理主要包括存储分配与回收、存储保护、地址映射(变换)和主存扩充。设备管理。实质是对硬件设备的管理包括对输入/输出设备的分配、启动、完成和回收。作业管理。包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等。 操作系统的分类批处理操作系统、实时操作系统、网络操作系统、分布式操作系统、微型计算机操作系统、嵌入式操作系统。批处理操作系统单道批处理和多道批处理(主机与外设可并行)。分时操作系统一个计算机系统与多个终端设备连接。分时操作系统是将CPU的工作时间划分为许多很短的时间片轮流为各个终端的用户服务。实时操作系统实时是指计算机对于外来信息能够以足够快的速度进行处理并在被控对象允许的时间范围内做出快速反应。实时系统对交互能力要求不高但要求可靠性有保障。为了提高系统的响应时间对随机发生的外部事件应及时做出响应并对其进行处理。网络操作系统是使联网计算机能方便而有效地共享网络资源为网络用户提供各种服务的软件和有关协议的集合。功能主要包括高效、可靠的网络通信对网络中共享资源的有效管理提供电子邮件、文件传输、共享硬盘和打印机等服务网络安全管理提供互操作能力。 三种模式集中模式、客户端/服务器模式、对等模式。分布式操作系统分布式计算机系统是由多个分散的计算机经连接而成的计算机系统系统中的计算机无主、次之分任意两台计算机可以通过通信交换信息。通常为分布式计算机系统配置的操作系统称为分布式操作系统。是网络操作系统的更高级形式。微型计算机操作系统简称微机操作系统常用的有Windows、MacOS、Linux。嵌入式操作系统运行在嵌入式智能芯片环境中对整个智能芯片以及它所操作、控制的各种部件装置等资源进行统一协调、处理、指挥和控制。嵌入式操作系统主要特点如下 微型化。从性能和成本角度考虑希望占用的资源和系统代码量少如内存少、字长短、运行速度有限、能源少(用微小型电池)。可定制。从减少成本和缩短研发周期考虑要求嵌入式操作系统能运行在不同的微处理器平台上能针对硬件变化进行结构与功能上的配置以满足不同应用需要。实时性。嵌入式操作系统主要应用于过程控制、数据采集、传输通信、多媒体信息及关键要害领域需要迅速响应的场合所以对实时性要求较高。可靠性。系统构件、模块和体系结构必须达到应有的可靠性对关键要害应用还要提供容错和防故障措施。易移植性。为了提高系统的易移植性通常采用硬件抽象层(HardwareAbstractionLevelHAL)和板级支撑包(BoardSupportPackageBSP)的底层设计技术。 嵌入式系统初始化过程按照自底向上、从硬件到软件的次序依次为片级初始化→板级初始化→系统初始化。芯片级是微处理器的初始化。板卡级是其他硬件设备初始化。系统级初始化就是软件及操作系统初始化。微内核操作系统微内核顾名思义就是尽可能的将内核做的很小只将最为核心必要的东西放入内核中其他能独立的东西都放入用户进程中这样系统就被分为了用户态和内核态。 进程管理 进程的组成进程控制块PCB(唯一标志)、程序(描述进程要做什么)、数据(存放进程执行时所需数据)。进程状态三态图前趋图用来表示哪些任务可以并行执行哪些任务之间有顺序关系。确定两点任务间的并行、任务间的先后顺序。进程资源图用来表示进程和资源之间的分配和请求关系。P代表进程R代表资源R方框中有几个圆球就表示有几个这种资源。 阻塞节点某进程所请求的资源已经全部分配完毕无法获取所需资源该进程被阻塞了无法继续。非阻塞节点某进程所请求的资源还有剩余可以分配给该进程继续运行。 当一个进程资源图中所有进程都是阻塞节点时即陷入死锁状态。进程资源图的化简方法先看系统还剩下多少资源没分配再看有哪些进程是不阻塞的接着把不阻塞的进程的所有边都去掉形成一个孤立的点再把系统分配给这个进程的资源回收回来这样系统剩余的空闲资源便多了起来接着又去看看剩下的进程有哪些是不阻塞的然后又把它们逐个变成孤立的点最后所有的资源和进程都变成孤立的点。互斥和同步并非反义词互斥表示一个资源在同一时间内只能由一个任务单独使用需要加锁使用完后解锁才能被其他任务使用。同步表示两个任务可以同时执行只不过有速度上的差异需要速度上匹配不存在资源是否单独或共享的问题。信号量操作的基本概念 临界资源各个进程间需要互斥方式对其进行共享的资源即在某一时刻只能被一个进程使用该进程释放后又可以被其他进程使用。临界区每个进程中访问临界资源的那段代码。信号量是一种特殊的变量。 信号量操作的两类信号量 互斥信号量对临界资源采用互斥访问使用互斥信号量后其他进程无法访问初值为1。同步信号量对共享资源的访问控制初值是共享资料的个数。 信号量操作的P操作和V操作都是原子操作用来解释进程间的同步和互斥原理。执行P操作是主动的带有判断性质的-1执行V操作是被动的因为某操作产生的1。进程调度方式是指当有更高优先级的进程到来时如何分配CPU。分为可剥夺和不可剥夺两种可剥夺指当有更高优先级进程到来时强行将正在运行进程的CPU分配给高优先级进程不可剥夺是指高优先级进程必须等待当前进程自动释放CPU。进程调度在某些操作系统中一个作业从提交到完成需要经历高、中、低三级调度。 高级调度高级调度又称“长调度”“作业调度”或“接纳调度”它决定处于输入池中的哪个后备作业可以调入主系统做好运行的准备成为一个或一组就绪进程。在系统中一个作业只需经过一次高级调度。中级调度中级调度又称“中程调度”或“对换调度”它决定处于交换区中的哪个就绪进程可以调入内存以便直接参与对CPU的竞争。低级调度低级调度又称“短程调度”或“进程调度”它决定处于内存中的哪个就绪进程可以占用CPU。低级调度是操作系统中最活跃、最重要的调度程序对系统的影响很大。 先来先服务FCFS先到达的进程优先分配CPU。用于宏观调度。时间片轮转分配给每个进程CPU时间片轮流使用CPU每个进程时间片大小相同很公平用于微观调度。优先级调度每个进程都拥有一个优先级优先级大的先分配CPU。多级反馈调度时间片轮转和优先级调度结合而成设置多个就绪队列123.…n每个队列分别赋予不同的优先级分配不同的时间片长度新进程先进入队列1的末尾按FCFS原则执行队列1的时间片若未能执行完进程则转入队列2的末尾如此重复。死锁当一个进程在等待永远不可能发生的事件时就会产生死锁若系统中有多个进程处于死锁状态就会造成系统死锁。死锁产生的四个必要条件资源互斥、每个进程占有资源并等待其他资源、系统不能剥夺进程资源、进程资源图是一个环路。解决死锁的措施是打破四大条件死锁预防、死锁避免、死锁检测、死锁解除。死锁预防采用某种策略限制并发进程对于资源的请求破坏死锁产生的四个条件之一使系统任何时刻都不满足死锁的条件。死锁避免一般采用银行家算法来避免银行家算法就是提前计算出一条不会死锁的资源分配方法才分配资源否则不分配资源相当于借贷考虑对方还得起才借钱提前考虑好以后就可以避免死锁。死锁检测允许死锁产生但系统定时运行一个检测死锁的程序若检测到系统中发生死锁则设法加以解除。死锁解除即死锁发生后的解除方法如强制剥夺资源撤销进程等。死锁资源计算系统内有n个进程每个进程都需要R个资源那么其发生死锁的最大资源数为n*(R-1)。其不发生死锁的最小资源数为n*(R-1)1。传统的进程有两个属性可拥有资源的独立单位、可独立调度和分配的基本单位。引入线程的原因是进程在创建、撤销和切换中系统必须为之付出较大的时空开销故在系统中设置的进程数目不宜过多进程切换的频率不宜太高这就限制了并发程度的提高。引入线程后将传统进程的两个基本属性分开线程作为调度和分配的基本单位进程作为独立分配资源的单位。用户可以通过创建线程来完成任务以减少程序并发执行时付出的时空开销。线程是进程中的一个实体是被系统独立分配和调度的基本单位。线程基本上不拥有资源只拥有一点运行中必不可少的资源(如程序计数器、一组寄存器和栈)它可与同属一个进程的其他线程共享进程所拥有的全部资源例如进程的公共数据、全局变量、代码、文件等资源但不能共享线程独有的资源如线程的栈指针等标识数据。 存储管理 存储器的结构寄存器—高速缓存Cache—主存—外存。地址重定位将逻辑地址转换为实际主存物理地址的过程分为静态重定位(在程序装入主存时就完成了转换)、动态重定位(边运行边转换)。分区存储管理就是整存将某进程运行所需的内存整体一起分配给它然后再执行。分区存储管理三种分区方式固定分区、可变分区、可重定位分区。固定分区静态分区方法将主存分为若干个固定的分区将要运行的作业装配进去由于分区固定大小和作业需要的大小不同会产生内部碎片。可变分区动态分区方法主存空间的分区是在作业转入时划分正好划分为作业需要的大小这样就不存在内部碎片但容易将整片主存空间切割成许多块会产生外部碎片。可变分区的算法系统分配内存的算法有很多如果根据分配前的内存情况还需要分配9K空间对不同算法的结果介绍如下 首次适应法按内存地址顺序从头查找找到第一个9K空间的空闲块即切割9K空间分配给进程。最佳适应法将内存中所有空闲内存块按从小到大排序找到第一个9K空间的空闲块切割分配这个将会找到与9K空间大小最相近的空闲块。最差适应法和最佳适应法相反将内存中空闲块空间最大的切割9K空间分配给进程这是为了预防系统中产生过多的细小空闲块。循环首次适应法按内存地址顺序查找找到第一个9K空间的空闲块而后若还需分配则找下一个不用每次都从头查找这是与首次适应法不同的地方。 可重定位分区可以解决碎片问题移动所有已经分配好的区域使其成为一个连续的区域这样其他外部细小的分区碎片可以合并为大的分区满足作业要求。只在外部作业请求空间得不到满足时进行。分页存储管理如果采用分区存储都是整存会出现一个问题即当进程运行所需的内存大于系统内存时就无法将整个进程一起调入内存因此无法运行若要解决此问题就要采用段页式存储组织页式存储是基于可变分区而提出的。逻辑页分为页号和页内地址页内地址就是物理偏移地址而页号与物理块号并非按序对应的需要查询页表才能得知页号对应的物理块号再用物理块号加上偏移地址才得出了真正运行时的物理地址。分页存储管理优点利用率高碎片小分配及管理简单。分页存储管理缺点增加系统开销可能产生抖动现象。地址表示和转换物理地址和逻辑地址的页内偏移地址是一样的只需要求出页号和物理块号之间的对应关系首先需要求出页号的位数得出页号再去页表里查询其对应的物理块号使用此物理块号和页内偏移地址组合就能得到物理地址。分页存储管理的地址组成页地址页内偏移地址(页地址在高位页内偏移地址在低位)。分页存储管理的物理地址物理块号页内偏移地址。分页存储管理的逻辑地址页号页内偏移地址。页面置换算法最优算法OPT理论上的算法无法实现是在进程执行完后进行的最佳效率计算用来让其他算法比较差距。原理是选择未来最长时间内不被访问的页面置换这样可以保证未来执行的都是马上要访问的。页面置换算法先进先出算法FIFO先调入内存的页先被置换淘汰会产生抖动现象即分配的页数越多缺页率可能越多(即效率越低)。页面置换算法最近最少使用LRU在最近的过去进程执行过程中过去最少使用的页面被置换淘汰根据局部性原理这种方式效率高且不会产生抖动现象使用大量计数器但是没有LFU多。页面置换算法淘汰原则优先淘汰最近未访问的而后淘汰最近未被修改的页面。快表是一块小容量的相联存储器由快速存储器组成按内容访问速度快并且可以从硬件上保证按内容并行查找一般用来存放当前访问最频繁的少数活动页面的页号。快表是将页表存于Cache中慢表是将页表存于内存上。慢表需要访问两次内存才能取出页而快表是访问一次Cache和一次内存因此更快。段式存储管理将进程空间分为一个个段每段也有段号和段内地址与页式存储不同的是每段物理大小不同分段是根据逻辑整体分段的因此段表也与页表的内容不同页表中直接是逻辑页号对应物理块号段表有段长和基址两个属性才能确定一个逻辑段在物理段中的位置。段式存储管理优点多道程序共享内存各段程序修改互不影响。段式存储管理缺点内存利用率低内存碎片浪费大。分页和分段存储管理的区别分页是根据物理空间划分每页大小相同分段是根据逻辑空间划分每段是一个完整的功能便于共享但是大小不同。地址表示(段号段内偏移)其中段内偏移不能超过该段号对应的段长否则越界错误而此地址对应的真正内存地址应该是段号对应的基地址段内偏移。段页式存储管理对进程空间先分段后分页具体原理图和优缺点如下 优点空间浪费小、存储共享容易、存储保护容易、能动态链接。缺点由于管理软件的增加复杂性和开销也随之增加需要的硬件以及占用的内容也有所增加使得执行速度大大下降。 设备管理 设备是计算机系统与外界交互的工具具体负责计算机与外部的输入/输出工作所以常称为外部设备(简称外设)。在计算机系统中将负责管理设备和输入/输出的机构称为I/O系统。因此I/O系统由设备、控制器、通道(具有通道的计算机系统)、总线和I/O软件组成。设备的分类按数据组织分类块设备、字符设备设备的分类按照设备功能分类输入设备、输出设备、存储设备、网络联网设备、供电设备等等。设备的分类资源分配角度分类独占设备、共享设备和虚拟设备。设备的分类数据传输速率分类低速设备、中速设备、高速设备。设备管理的任务是保证在多道程序环境下当多个进程竞争使用设备时按一定的策略分配和管理各种设备控制设备的各种操作完成I/O设备与主存之间的数据交换。设备管理的主要功能是动态地掌握并记录设备的状态、设备分配和释放、缓冲区管理、实现物理I/O设备的操作、提供设备使用的用户接口及设备的访问和控制。I/O设备管理软件的所有层次及每一层功能 层次名称功能精简描述最高层用户层 I/O 软件提供用户交互接口格式化 I/O 数据管理用户级缓冲次高层设备独立性软件实现设备无关性统一命名与保护设备分配回收设备管理缓冲处理错误次低层设备驱动程序转换 I/O 请求为物理指令与设备控制器通信初始化配置设备处理中断最低层中断处理程序响应设备中断保存恢复 CPU 现场识别中断源并处理 虚设备和SPOOLING技术一台实际的物理设备例如打印机在同一时间只能由一个进程使用其他进程只能等待且不知道什么时候打印机空闲此时极大的浪费了外设的工作效率。引入SPOOLING(外围设备联机操作)技术就是在外设上建立两个数据缓冲区分别称为输入井和输出井这样无论多少进程都可以共用这一台打印机只需要将打印命令发出数据就会排队存储在缓冲区中打印机会自动按顺序打印实现了物理外设的共享使得每个进程都感觉在使用一个打印机这就是物理设备的虚拟化。 文件管理 文件(File)是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合。 信息项构成文件内容的基本单位可以是一个字符也可以是一个记录记录可以等长也可以不等长。一个文件包括文件体和文件说明。文件体是文件真实的内容。文件说明是操作系统为了管理文件所用到的信息包括文件名、文件内部标识、文件的类型、文件存储地址、文件的长度、访问权限、建立时间和访问时间等。 文件管理系统操作系统中实现文件统一管理的一组软件和相关数据的集合专门负责管理和存取文件信息的软件机构简称文件系统。文件系统的功能包括按名存取、统一的用户接口、并发访问和控制、安全性控制、优化性能、差错恢复。 文件的类型 按文件性质和用途可将文件分为系统文件、库文件和用户文件。按信息保存期限分类可将文件分为临时文件、档案文件和永久文件。按文件的保护方式分类可将文件分为只读文件、读/写文件、可执行文件和不保护文件。UNIX系统将文件分为普通文件、目录文件和设备文件(特殊文件)。 文件的逻辑结构可分为两大类 一是有结构的记录式文件它是由一个以上的记录构成的文件故又称为记录式文件二是无结构的流式文件它是由一串顺序字符流构成的文件。 文件的物理结构是指文件的内部组织形式即文件在物理存储设备上的存放方法包括 连续结构。连续结构也称顺序结构它将逻辑上连续的文件信息(如记录)依次存放在连续编号的物理块上。只要知道文件的起始物理块号和文件的长度就可以很方便地进行文件的存取。链接结构。链接结构也称串联结构它是将逻辑上连续的文件信息(如记录)存放在不连续的物理块上每个物理块设有一个指针指向下一个物理块。因此只要知道文件的第一个物理块号就可以按链指针查找整个文件。索引结构。在采用索引结构时将逻辑上连续的文件信息(如记录)存放在不连续的物理块中系统为每个文件建立一张索引表。索引表记录了文件信息所在的逻辑块号对应的物理块号并将索引表的起始地址放在与文件对应的文件目录项中。多个物理块的索引表。索引表是在文件创建时由系统自动建立的并与文件一起存放在同一文件卷上。根据一个文件大小的不同其索引表占用物理块的个数不等一般占一个或几个物理块。 索引文件结构假设系统中有13个索引节点0-9为直接索引即每个索引节点存放的是内容假设每个物理盘大小为4KB共可存4KB1010KB数据10号索引节点为一级间接索引节点大小为4KB存放的并非直接数据而是链接到直接物理盘块的地址假设每个地址占4B则共有1024个地址对应1024个物理盘可存10244KB4098KB数据。二级索引节点类似直接盘存放一级地址一级地址再存放物理盘快地址而后链接到存放数据的物理盘块容量又扩大了一个数量级为102410244KB数据。 文件控制块中包含以下三类信息基本信息类、存取控制信息类和使用信息类。 文件控制块的基本信息类例如文件名、文件的物理地址、文件长度和文件块数等。 文件控制块的存取控制信息类文件的存取权限像UNIX用户分成文件主、同组用户和一般用户三类这三类用户的读/写执行RWX权限。 文件控制块的使用信息类文件建立日期、最后一次修改日期、最后一次访问的日期、当前使用的信息(如打开文件的进程数、在文件上的等待队列)等。 文件控制块的有序集合称为文件目录。相对路径是从当前路径开始的路径。绝对路径是从根目录开始的路径。全文件名绝对路径文件名。要注意绝对路径和相对路径是不加最后的文件名的只是单纯的路径序列。 树形结构主要是区分相对路径和绝对路径。 文件存储空间管理文件的存取方法是指读/写文件存储器上的一个物理块的方法。 通常有顺序存取和随机存取两种方法。 顺序存取方法是指对文件中的信息按顺序依次进行读/写随机存取方法是指对文件中的信息可以按任意的次序随机地读/写。 文件存储空间的管理 空闲区表。将外存空间上的一个连续的未分配区域称为“空闲区”。操作系统为磁盘外存上的所有空闲区建立一张空闲表每个表项对应一个空闲区适用于连续文件结构。位示图。这种方法是在外存上建立一张位示图(Bitmap)记录文件存储器的使用情况。每一位对应文件存储器上的一个物理块取值0和1分别表示空闲和占用。空闲块链。每个空闲物理块中有指向下一个空闲物理块的指针所有空闲物理块构成一个链表链表的头指针放在文件存储器的特定位置上(如管理块中)不需要磁盘分配表节省空间。每次申请空闲物理块只需根据链表的头指针取出第一个空闲物理块根据第一个空闲物理块的指针可找到第二个空闲物理块依此类推。成组链接法。例如在实现时系统将空闲块分成若干组每100个空闲块为一组每组的第一个空闲块登记了下一组空闲块的物理盘块号和空闲块总数。假如某个组的第一个空闲块号等于0意味着该组是最后一组无下一组空闲块。