操作系统笔记
ChanCherry、
信安小白,欢迎大家多多交流! CSDN大多数时候好像用来记笔记[捂脸]
个人博客:https://chancherry.github.io/
有事可以Q我3324838931
展开
-
0x19 I/O系统
I/O基本概念计算机2个主要任务:I/O操作(更频繁)计算I/O设备特点:种类繁多,不断有新设备出现接口标准化:如USBI/O系统的对象和任务I/O系统的主要对象:I/O设备和对应的设备控制器I/O系统的主要任务:完成用户提出的I/O请求提高I/O速率改善I/O设备的利用率I/O系统的基本功能隐藏物理设备的细节与设备的无关性提高处理机和I/O设备的利用率对I/O设备进行控制.确保对设备的正确共享错误处理设备独立性为了提高操作系统的可适应性和可扩展性,原创 2020-06-21 12:49:35 · 543 阅读 · 0 评论 -
0x18 大容量存储器结构
一、磁盘结构和管理磁盘结构盘片是存储数据的介质,正反两面可以存储数据;磁头可以读写数据,沿磁盘半径移动,有多少盘面就有多少磁头;主轴由马达驱动,使盘片以固定速度旋转。磁盘和计算机之间有接口,用于数据传输,例如EIDE,ATA,SATA, USB,Fibre Channel, SCSI,SAS,Firewire;磁盘控制器控制磁盘的读写等操作,并且利用磁盘缓冲区来暂存数据。盘片结构:磁道磁头在盘片表面划出的圆形;盘面划分为数目相等的磁道;从盘面外缘“0”开始编号扇区磁道被等分为原创 2020-06-19 16:26:12 · 996 阅读 · 0 评论 -
0x17 文件系统实现
一、文件系统文件系统文件系统是操作系统中负责管理和存储文件信息的模块。它提供了在存储设备上组织文件的方法和数据结构。系统角度①对存储设备的空间进行组织和分配②负责文件检索、读写等操作③目标:存取速度和存储空间效率用户角度①提供按名存取的文件访问机制②提供了文件的组织管理③目标:方便的文件存取机制文件系统的层次架构如下图,逻辑文件系统、文件组织模块、基本文件系统构成了文件系统。I/O控制设备驱动程序(Device Drivers)中断设备驱动程序控制I/O设备运行原创 2020-06-18 22:52:49 · 675 阅读 · 0 评论 -
0x16 文件系统接口
一、文件文件概念计算机中信息存储的基本组织形式;相关信息结合;具有文件名。文件名按名存取:文件名 -> 存储位置文件名由一串ASCII码或(和)汉字构成;名字长度8.3规则:文件名8个字符,类型3个字符,之间由“.”分割长文件名:可以最多输入255多个字符作为文件名文件名可能大小写敏感;Linux,Unix系统的文件名大小写敏感,Windows系统的不敏感。文件结构指文件内信息的组织方式;目的:便于程序理解文件内容。操作系统和应用程序决定了文件的结构。如pdf文件的结原创 2020-06-18 22:52:20 · 500 阅读 · 0 评论 -
0x15 虚拟内存(下)
四、页框分配和颠簸页框分配也称帧分配,就是研究如何为各个进程分配一定的空闲内存。如:现有93个空闲页框和2个进程,那么每个进程各得到多少页框?页框分配会受到多方面的限制,例如,所分配的页框不能超过可用页框的数量,也必须分配至少最少的页框数,即每个进程所需要的最少的页框数。分配至少最少的页框数的原因之一是性能。当指令完成之前出现缺页中断时,该指令必须重新执行,因此,必须有足够的页框来容纳所有单个指令所引用的页。必须满足:每个进程所需要最少的页数例子:IBM370-6处理SS MOVE指令:指原创 2020-06-18 22:51:29 · 573 阅读 · 0 评论 -
0x14 虚拟内存(上)
一、虚拟存储技术背景代码必须装入内存才能执行,但是并不是所有代码必须全部装入内存。错误代码不常用的函数大的数据结构程序部分装入优点局部性原理局部性原理:一个程序只要部分装入内存就可以运行整个程序不是同一时间都要运行1968年,Denning指出:程序在执行时将呈现出局部性规律,即在一较短的时间内,程序的执行仅局限于某个部分;相应地,它所访问的存储空间也局限于某个区域程序执行时,除了少部分的转移和过程调用外,在大多数情况下仍然顺序执行;过程调用将会使程序的执行轨迹由一部分区域原创 2020-06-17 16:22:19 · 1315 阅读 · 1 评论 -
0x13 内存管理(二)
四、页表结构例子一个具有32位逻辑地址空间的系统,页大小4KB(也就是212),那么一个页表最多可包含1M个表项(232/212=220)。假设每个页表项4个字节,每个进程需4MB空间放页表,也就是1024个连续页面来存储页表本身。显然需要这么多个连续页面来存放页表不一定能实现。解决方法:层次页表将页表划分为更小的部分,如两级页表就是将页表再分页。哈希页表反向页表例子:4KB页大小的32位系统一个逻辑地址被分为:20位的页号,12位的页偏移页表所在页被分页,页号被分为:10位原创 2020-06-11 19:48:01 · 825 阅读 · 0 评论 -
0x12 内存管理(一)
长篇预警一、内存管理背景内存是现代计算机运行的中心,它是由字或字节组成,每个字或字节都有自己的地址。基本硬件程序必须装入内存才能被执行;CPU可以直接访问的存储器只有主存高速缓存和寄存器;寄存器通常可在1个(或少于1个)CPU时钟周期内完成访问,完成主存访问可能需要多个CPU时钟周期;CPU暂停(Stall):在读取内存数据时,CPU空闲;在内存和CPU之间,增加高速内存,来协调速度差异,这种内存缓冲区称为高速缓存Cache;内存保护需要保证正确的操作。独立运行内存空间确保进程可访.原创 2020-06-11 18:30:49 · 1044 阅读 · 0 评论 -
0x11 死锁
一、死锁概念及其资源分配图过桥例子桥只能一个方向通行;桥的每一个部分都可以看成资源;如果死锁发生,可能很多车都无法通行;解决方法:可由一辆车返回解决(抢占资源并回退);有可能产生饥饿。死锁概念:在多道程序环境下,一组处于等待状态的进程,其中每一个进程都持有资源。并且等待着由这组中其他进程所持有的资源,那么该组等待进程有可能再也无法改变其状态,这种情况称为死锁。所有的死锁进程如果没有外力的介入,都无法向前推进。引起死锁的主要原因:(1)竞争互斥资源;(2)进程推进不当。例如,系统有原创 2020-06-11 00:22:26 · 313 阅读 · 0 评论 -
0x10 进程同步
多道程序设计技术是现代操作系统的基础。在进程并发执行时。各个协同进程运行次序的不同会导致不同的运行结果,从而出现运行错误。数据不一致性多道程序设计技术和多核处理器在观代操作系统中广泛应用,系统中的多个进程并发或并行执行已经成为常态。每个进程可在任何时候被中断,仅仅进程的部分代码片段可连续执行。共享数据并发/并行访问:数据不一致性,又称不可再现性:同一进程在同一批数据上多次运行的结果不一样。数据不一致性例子:有界缓冲例子:n个缓冲区的有界缓冲问题增加变量counter,初始化为0;向缓冲区.原创 2020-06-10 15:27:12 · 906 阅读 · 0 评论 -
0x09 CPU调度及算法
CPU调度CPU调度是指多任务操作系统的基础,目的是使得CPU尽可能用于执行指令,从而提高CPU效率。CPU调度可分为三种,长程调度、中程调度、短程调度。有些进程状态的改变需要CPU的干预,因为进程间存在竞争,需要操作系统选择一个进程来进行这种转换。长程调度“道”(有的也叫“度”):允许在内存运行的最多进程数。并不是每个用户创建的进程都能马上被装入内存去运行。每个用户创建进程的初始状态是“新建”,处于新建状态的进程一般首先被放到外存的进程池中,操作系统的调度程序才从新建状态选择一个进入内存并转换原创 2020-05-19 11:00:29 · 818 阅读 · 0 评论 -
0x08 操作系统进程和线程测试题
进程单元测试1.在操作系统的处理器管理中,标识每一个进程的唯一标志是()。A.数据集合B.FCBC.PCBD.目标程序5.00/5.00C2.当外围设备工作结束后,等待该外围设备传输信息的进程状态可能变为()。A.运行态B.等待态C.终止态D.就绪态5.00/5.00D3.下列进程状态变化中,没有外力干预不可能发生的变化是()。A.等待态->运行态B.等待态->就绪态C.运行态->等待态D.运行态->就绪态0.00/5.00A(√) C4.原创 2020-05-16 17:34:27 · 1967 阅读 · 0 评论 -
0x07 操作系统的线程知识
线程引入原因性能操作系统开销大;Unix的轻型进程(fork)应用进程代码并发执行的需求;例子:PPT编辑(输入/拼写检查/存盘)硬件多核处理器;加速进程的运行线程线程可在CPU上运行的基本执行单位进程内的一个代码片段可以被创建称为一个线程线程状态:就绪、运行、等待等线程操作:创建、撤销、等待、唤醒等进程依旧是资源分配的基本单位线程自己不拥有系统资源,通过进程申请资源传统进程重型进程只有一个线程:主线程单线程模型进程和线程方面进原创 2020-05-16 17:29:59 · 307 阅读 · 0 评论 -
0x06 操作系统的进程知识
进程(Process)它是操作系统的CPU调度和资源分配的单位。操作系统执行各种程序:批处理系统-作业(Job)分时系统-用户程序或任务(Task)作业:被组装成一个整体运行的一组计算步骤任务:进程或线程作业和进程在这本书中基本可互换进程:执行中的程序进程的执行必须以顺序方式进行另一个说法:一个程序在一个数据集上的一次运行例子:Windows XP内存中的进程进程包括:(1)代码(text);(2)当前活动:程序计数器(PC)-指向当前要执行的指令(地址)堆栈原创 2020-05-15 11:30:35 · 596 阅读 · 0 评论 -
0x05 操作系统结构和虚拟机
简单结构无结构早期操作系统采用规模小,简单功能有限问题:混乱不易维护和更新不适合大规模系统开发例子:MS-DOS不划分模块;尽管MS-DOS有某种结构,其接口和功能层没有划分清楚例子:早期UNIX受到硬件限制,原始UNIX操作系统由两个独立部分组成:(1)系统程序(2)内核接口和驱动程序,硬件上和系统调用接口下的所有部分文件系统、CPU调度、内存管理和其他操作系统功能操作系统规模层次结构操作系统分为若干层,在低层上构建高层,底层(0层)为硬件,最高层(原创 2020-05-14 09:36:27 · 605 阅读 · 0 评论 -
0x04 操作系统服务和接口
操作系统服务基本服务操作系统以服务形式向程序和用户提供执行程序的基本服务,包括用户界面、程序执行、I/O操作、文件系统操作、通信、错误检测等。增值服务如资源分配、统计、保护和安全等。操作系统的服务形式主要有系统调用、用户接口和系统程序。系统调用是操作系统提供给程序的服务形式,而用户接口和系统程序是操作系统提供给用户的服务形式。系统调用一般用高级语言编写(如C和C++),可以供程序通过应用程序接口(即API)来访问。系统调用在程序中无处不在,各种文件操作、屏幕输出、设备访问都需要调用系统调用。可以原创 2020-05-14 08:14:48 · 691 阅读 · 0 评论 -
0x03 操作系统操作和功能
操作系统操作:双模式I/O和内存保护定时器双重模式操作程序运行中的问题:软件错误或特定请求产生异常或陷阱,如除数为零,完成操作系统服务等。其他进程问题:如死循环等。解决方法:双重模式(用户模式和内核模式)内核模式:只能运行操作系统的程序;用户模式:所有的用户应用程序只能在用户模式下运行。双模式需要CPU的支持,如果CPU有模式位,则可以在操作系统中实现双模式。允许OS保护自身和其他系统部件;特权指令:可能引起系统崩溃的指令,只能运行在内核模式系统调用:模式转换用户程序需要用原创 2020-05-13 14:08:43 · 804 阅读 · 0 评论 -
0x02 操作系统类型
大型机系统简单批处理系统多道程序系统分时系统目标:系统效率例子:IBM AIX,IBM z/OS,HP-Unix桌面系统个人计算机(PC)设计目标:用户方便性,响应速度,图形化界面(GUI)多数技术沿用大型机常用的桌面系统有:Windows,Mac OS,Linux手持(移动)系统手持设备:如手机、平板资源有限扩展功能:GPS导航,移动支付,位置服务例子:Apple iOS,Google Android嵌入式系统嵌入式系统:完全嵌入受控器件内部,为特定应用而设计的原创 2020-05-13 11:25:34 · 306 阅读 · 0 评论 -
0x01 多道程序设计和分时系统
简单的批处理系统最早的操作系统。实现了自动化作业调度,可以在无需人工干预的条件下运行作业。一批无需人机交互的作业批量运行,需要操作系统的介入。简单批处理系统的核心是一个常驻监控程序(Monitor),可以控制作业传输,调度作业运行,自动从一个运行完的作业转换到下一个作业。简单批处理系统又称单道...原创 2020-05-13 10:29:17 · 1563 阅读 · 0 评论 -
0x00 什么是操作系统
操作系统网课笔记^_^操作系统的目标运行用户程序——核心目标更高效使用计算机——面向系统更方便使用计算机——面向用户不同用户/系统/阶段有不同侧重点,早期侧重高效,目前侧重方便。用户视角:PC用户:追求方便,易用、高性能主机用户:关注资源利用率手持设备用户:关心方便、电池续航时间正是由于不同用户,不同的应用场景对操作系统有不同分要求,就需要设计不同的操作系统,以适合用户和应用的需求。这也是操作系统多样化的原因。系统视角:操作系统是资源分配器(1)管理所有资源(2)面对.原创 2020-05-12 23:31:47 · 1108 阅读 · 0 评论