操作系统学习总结
文章平均质量分 95
小森、
这个作者很懒,什么都没留下…
展开
-
操作系统:导论及操作系统结构
目录一、导论1.操作系统的定义2.计算机系统的结构3.计算机系统组织1.启动(booting)2.中断3.I/O结构4.存储结构4.计算机系统的体系结构1.单处理系统2.多处理系统5.操作系统的结构及操作1.操作系统结构2.操作系统的操作6.操作系统管理1.进程管理2.内存管理3.存储管理7.其他计算机系统二、操作系统结构1.系统调用2.系统程序一、导论1.操作系统的定义操作系统是计算机用户与计算机硬件之间运行的一个程序。通常狭义上被称为内核(Kernel)程序,其他程序则为系统程序和应用程序。它是原创 2021-01-04 10:52:21 · 342 阅读 · 0 评论 -
操作系统:进程
目录一、进程概念1.进程2.进程状态3.进程控制块二、进程调度1.调度队列2.调度程序3.上下文切换三、进程运行1.进程创建2.进程终止四、进程间通信1.共享内存系统2.消息传递系统五、客户机/服务器通信1.Socket套接字2.远程过程调用(RPC)3.远程方法调用4.管道一、进程概念1.进程进程:进程是活动的实体,是执行中的程序。当一个可执行文件被加载到内存时,这个程序就成为进程。程序是被动的实体,如存储在磁盘上的包含一系列指令的文件内容,进程是活动的实体。作业是任务的一个实例。进程在内存中原创 2021-01-01 16:43:00 · 804 阅读 · 0 评论 -
操作系统:大容量存储结构
目录一、磁盘概述二、磁盘结构1.磁盘结构2.磁盘类型3.磁盘访问时间三、磁盘调度及调度算法1.FCFS调度2.SSTF调度3.SCAN调度4.C-SCAN调度5.LOOK调度和C-LOOK调度6.N-Step-SCAN调度7.FSCAN调度8.调度算法的选择四、磁盘管理1.磁盘格式化一、磁盘概述磁头附着在磁臂上,磁臂将所有磁头作为一个整体而一起移动。盘片的表面逻辑地分为圆形磁道,再细分为扇区。同一磁臂位置的磁道集合形成了柱面。二、磁盘结构1.磁盘结构现代磁盘驱动器可以看做一个一维的逻辑块的数原创 2020-12-31 16:07:25 · 887 阅读 · 0 评论 -
操作系统:文件系统的实现
目录一、文件系统结构二、文件系统实现1.概述2.虚拟文件系统三、目录实现1.线性列表2.哈希表四、磁盘空间的分配方法1.连续分配2.链接分配3.索引分配五、磁盘空闲空间的管理1.位向量2.链表3.组4.计数六、文件系统的性能和效率七、文件系统的恢复一、文件系统结构磁盘的逻辑单元为块,内存和磁盘之间的I/O传输以块为单位执行。磁盘的特点可以原地重写,可以从磁盘上读一块儿,修改该块,并将它写回到原来的位置可以直接访问磁盘上的任意一块。因此,可以方便地按顺序或随机访问文件文件系统需要提供高效快捷磁原创 2020-12-31 14:39:13 · 7083 阅读 · 3 评论 -
操作系统:文件系统
目录一、文件概念1.文件属性2.文件操作二、访问方法1.顺序访问2.直接访问(相对访问)3.索引文件三、目录与磁盘的结构1.目录概述2.单级目录3.两级目录4.树形目录5.树形目录6.通用图目录四、文件系统安装五、共享文件1.多用户2.远程文件系统参考一、文件概念操作系统对存储设备的物理属性加以抽象,从而定义逻辑存储单位,即文件从用户角度看,文件是逻辑外存的最小分配单元;也就是说数据只有通过文件才能写到外存。通常,文件表示程序和数据根据文件类型的不同可以存储不同类型的信息,如源程序、文本数据、照片、原创 2020-12-27 15:42:00 · 700 阅读 · 0 评论 -
操作系统:虚拟内存管理
目录一、背景二、请求调页1.基本概念三、写时复制四、页面置换1.基本页面置换2.FIFO页面置换虚拟内存允许执行进程不必完全处于内存一、背景虚拟内存是内存管理的一种技术,它允许执行进程时不必完全载入内存,可以部分程序载入到内存优点:逻辑地址空间可大于物理地址空间可以被多个进程共享地址空间可以提供更有效的进程创建虚拟内存将用户逻辑内存和物理内存分开,这在现有物理内存有限的情况下,为程序员提供了巨大的虚拟内存。虚拟内存大于物理内存的图例进程的虚拟地址空间就是进程如何在内存中存放的逻原创 2020-12-26 17:17:21 · 773 阅读 · 0 评论 -
操作系统:内存管理
目录一、背景二、交换三、连续内存分配1.内存分配2.碎片四、分段五、分页1.基本方法2.硬件支持3.保护一、背景二、交换进程必须在内存中以便执行,不过进程可以暂时从内存中交换到备份存储上(通常是快速磁盘),当需要再次执行时再调回到内存交换算法,如优先级调度算法:低优先级交换出,高优先级交换进;滚出(roll out), 滚入(roll in)交换时间(转移时间):转移时间与交换内存空间量成正比问:将交换出的进程再交换回来的时候,应该调回哪个内存空间?编译时绑定和加载时绑定。必须回到原位原创 2020-12-25 15:37:42 · 1057 阅读 · 4 评论 -
操作系统:死锁
目录前言一、系统模型二、死锁特征三、死锁处理方法四、死锁预防五、死锁避免前言在多道程序环境中,多个进程可以竞争有限数量的资源。当进程申请资源时,如果没有可用资源,那么这个进程进入等待状态。有时,如果所申请的资源被其它等待进程占有,那么该进程可能再也无法改变状态。这种情况称为死锁一、系统模型资源分为多种类型,每种类型有一定数量的实例。资源类型R1, R2, . . ., Rm, 如CPU, 内存空间, I/O 设备,文件每个资源类型Ri有Wi个实例正常操作模式下,进程只按如下顺序使用资源:原创 2020-12-24 10:46:20 · 494 阅读 · 0 评论 -
操作系统:同步
目录前言一、背景二、临界区问题三、Peterson解决方案四、硬件同步五、互斥锁六、信号量七、经典同步问题八、管程前言协作进程能与系统内的其他执行进程互相影响。协作进程或能共享逻辑地址空间,或能通过文件或消息来共享数据。然而,共享数据的并发访问可能会导致数据的不一致。本章讨论多种机制,以便确保共享同一逻辑地址空间的协作进程能有序执行,从而维护数据的一致性。一、背景如果没有进程间的同步保障机制会发⽣什么样的问题?发生竞争条件问题,即多个进程并发访问和操作同一数据并且执行结果与特定的访问顺序有关。原创 2020-12-22 14:54:16 · 1452 阅读 · 1 评论 -
操作系统:进程调度
目录前言一、基本概念二、调度准则三、调度算法四、线程调度五、多处理器调度六、实时CPU调度参考前言CPU调度是多道程序操作系统的基础。对于支持线程的操作系统,操作系统实际调度的是内核级线程而非进程,不过,术语进程调度和线程调度常常交替使用。本章在讨论一般调度概念时,采用进程调度;在针对线程特定概念时,采用线程调度一、基本概念多道程序的目的是,始终允许某个进程运行以最大化CPU的利用率。1.CPU-I/O执行周期进程执行包括周期进行CPU执行(CPU区间)和I/O等待(I/O区间)。进程在执行原创 2020-12-18 22:06:40 · 1073 阅读 · 1 评论 -
操作系统:多线程
目录一、概述二、多线程模型三、线程库四、多线程问题参考一、概述用pthread_create() 创建线程相对创建进程,创建线程比较简单,只需要复制堆栈和寄存器的内容线程是运行在应用进程里的、比进程更小的运行单位一个应用程序通常作为具有多个控制线程的一个进程实现。每个线程是独立的调度对象。 一个进程可以拥有单个或多个线程,并共享内存空间。一个进程可以拥有多个线程,而且线程之间共享以下内容代码段,全局变量打开的文件标识符工作环境,包括当前目录,用户权限等线程的运行是进程内部的执行轨迹原创 2020-12-17 20:40:05 · 715 阅读 · 0 评论 -
操作系统:程序的编译、链接、加载、地址绑定
文章目录一、基本概念二、编译三、地址绑定四、动态链接和静态链接五、动态加载参考一、基本概念程序是有代码、数据、进程控制块组成的1.什么是数据?数据指程序中的全局变量、静态变量、常量。2.什么是指令?除了数据剩下的就都是指令。int main(){ int a=10;}注意:a是局部变量,它并不是数据,而是一条指令,指令功能是在函数栈帧上开辟四个字节,并向其中写入指定值。3.什么是符号?在程序中,所有数据都会产生符号,而对于代码段只有函数名会产生符号。而且符号的作用域有global和原创 2020-12-11 23:09:26 · 2600 阅读 · 1 评论