
操作系统学习笔记
文章平均质量分 91
.
为了前进而后退,为了走直路而走弯路
https://darling-123456.github.io/个人博客网站,欢迎访问
展开
-
王道操作系统目录以及学习感受和总结
1.书,课后题编的感觉和shi一样,真给爷做吐了,我还是学过一遍操作系统和系统编程的,都感觉编的和shi一样。第一遍学的同学做课后题碰到不理解的可以先放着,等学完计组和操作系统的全部以后再看会好很多,当然还有些。5.操作系统第一遍学听不太懂是因为没有建立起来相应的体系结构,等你学完第一遍再看书的时候会更加清晰的。2.遇到不会的可以去b站找找相关的知识点,一般王道没讲清楚的都会有真的懂了的发视频的进行讲解。有些概念他的书里面根本没有,只有汤小丹里面有,但是他的习题却有,也是挺恶心的。原创 2024-12-02 12:30:01 · 485 阅读 · 0 评论 -
操作系统 | 学习笔记 | 王道 | 2.4死锁
已知现有三个进程的资源分配表如下(可用代表系统还剩有 3 个资源),现假设可用资源每次分配都是全部分配,并且分配给进程的资源总数应满足进程最多还需求的资源数目(如:可用资源有 3 个,由于 P2 进程还需要 2 个资源,因此只能满足 P2),分配完后回收该进程所拥有的全部资源。强制撤销部分甚至全部死锁进程,并剥夺这些进程的资源。例如,并发执行的进程P1、P2分别申请并占有了资源R1、R2,之后进程P1又紧接着申请资源R2,而进程P2又申请资源R1,两者会因为申请的资源被对方占有而阻塞,从而发生死锁。原创 2024-11-30 17:21:18 · 1079 阅读 · 0 评论 -
操作系统 | 学习笔记 | 王道 | 2.3 同步与互斥
供应者进程无限地提供三种材料,供应者每次将两种材料放桌子上,拥有剩下那种材料的抽烟者卷一根烟并抽掉它,并给供应者进程一个信号告诉完成了,供应者就会放另外两种材料在桌上,这个过程一直重复(让三个抽烟者轮流地抽烟)。如果筷子已在他人手上,则需等待。逻辑上来看 Swap 和 TSL 并无太大区别,都是先记录下此时临界区是否已经被上锁(记录在 old 变量上),再将上锁标记 lock 设置为 true,最后检查 old,如果 old 为 false 则说明之前没有别的进程对临界区上锁,则可跳出循环,进入临界区。原创 2024-11-30 16:38:03 · 1228 阅读 · 0 评论 -
操作系统 | 学习笔记 | 王道 | 2.2处理机调度
1.时间片轮转不能使系统高效,效率不会批处理,但是会让多个用户能够得到及时响应2.处于临界区的进程在退出临界区前,可以被调度(中断或被抢占)3.进程上下文不包括中断向量4.上下文切换不包括主存和外村的数据交换5.先来先服务利于cpu繁忙型作业,不利于IO繁忙型作业6.多级反馈队列系统开销较大7.降低进程优先级一般是进程执行完了以后进行降低。原创 2024-11-30 12:51:21 · 1097 阅读 · 0 评论 -
操作系统 | 学习笔记 | 王道 | 2.1 进程与线程
1.线程包含CPU现场,可以独立执行程序2.并发进程的运行结果具有不可再现性3.在单处理器系统中任何时刻都只有一个进程处于运行态(X)所有进程都死锁4.一个进程在同一时刻不能执行多个程序,只能执行一个程序5.分时系统中,处于就绪态的进程最多6.并发进程失去封闭性是指:并发进程共享变量,其执行结果与速度有关7.进程是资源分配的单位,内核级线程是调度和分派的单位8.速度最快的进程通信方式:共享内存9.第27题10.线程不会增加进程安全性11.51题A12.用户级线程切换是咱们自己控制的。原创 2024-11-28 21:36:53 · 812 阅读 · 0 评论 -
操作系统 | 学习笔记 | 王道 |第一章
1 计算机系统概述1.1 操作系统的基本概念1.2 操作系统发展历程1.3 操作系统运行环境1.3.1 处理器运行模型1.3.2 中断和异常的概念1.3.3 系统调用1.4 操作系统结构1.5 操作系统引导1.6 虚拟机需要注意的点&做题总结1.系统调用的目的是请求系统服务2.多处理器系统可以使多个进程并行执行3.进程越多CPU利用率不一定越高,因为可能发生资源竞争,产生死锁等情况,可能还会降低利用率4.批处理的缺点是缺少交互性5.能用汇编实现的也可以被认为可以在用户态完成的操作6.原创 2024-11-28 12:06:12 · 1129 阅读 · 0 评论 -
操作系统lab3-进程同步实验
代码中使用两个线程来模拟生产者和消费者,并且使用了pthread 库提供的线程操作,因此需要包含头文件pthread.h。至于信号量机制,代码中使用了POSIX 信号量机制,该机制通常用于线程同步,因此需要包含头文件semaphore.h。假设有一个生产者和一个消费者,缓冲区可以存放产品,生产者不断生产产品并存入缓冲区,消费者不断从缓冲区中取出产品并消费。为了模拟解决生产者-消费者问题,需要创建两个进程,即生产者进程和消费者进程,并且要让这两个进程共享同一个缓冲区。注:想要了解更多转至。原创 2024-11-14 18:49:25 · 468 阅读 · 0 评论 -
操作系统lab4-页面置换算法的模拟
因此,在页表中可以增加是否修改过的标志,当执行“存”指令、“写”指令时把对应页的修改标志置成“1”,表示该页修改过,否则为“0”,表示该页未修改过。系统为该作业分配了4块主存块,且该作业的第0页至第3页已经装入主存,其余3页尚未装入主存,该作业的页表见表3-2所示。系统为该作业分配了4块主存块,且该作业的第0页至第3页已经装入主存,其余3页尚未装入主存,该作业的页表见表3-2所示。模拟程序的流程见图3-1。依次执行上述的指令序列来调试你所设计的程序(仅模拟指令的执行,不必考虑指令序列中具体操作的执行)原创 2024-11-14 18:46:40 · 953 阅读 · 0 评论 -
操作系统lab2-进程控制与进程调度
具体运行情况描述为:进程的优先数及需要的运行时间事先已人为指定。首先在主程序中通过fork()创建子进程,并根据fork()的返回值确定所处的进程是子进程还是父进程,然后分别在子进程和当前进程(父进程)中调用getpid() 、getppid()、wait()等函数以完成实验内容。首先在主程序中通过fork()创建子进程,并根据fork()的返回值确定所处的进程是子进程还是父进程,然后分别在子进程和当前进程(父进程)中调用getpid() 、getppid()、wait()等函数以完成实验内容。原创 2024-11-11 13:13:39 · 1089 阅读 · 0 评论 -
操作系统实验lab1-实验环境搭建与使用
2、练习常用的Linux Shell 命令及命令选项,包括文件目录命令、备份压缩命令、重定向及管道命令等。(2) 文件及目录的创建、复制、删除和移动命令: touch 、cp 、mv 、rm 、mkdir 、rmdir。(2) 文件及目录的创建、复制、删除和移动命令: touch 、cp 、mv 、rm 、mkdir 、rmdir。2、练习常用的Linux Shell 命令及命令选项,包括文件目录命令、备份压缩命令、重定向及管道命令等。(6) 备份和压缩命令: tar 、gzip 、bzip2。原创 2024-11-11 13:10:24 · 1058 阅读 · 0 评论 -
操作系统 | 学习笔记 | 王道 | 3.2 虚拟内存管理
一旦程序访问了某个存储单元,在不久后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内,因为指令通常是顺序存放、顺序执行的,数据也一般是以向量、数组、表等形式聚存储的。进程运行时,若其访问的页面不在内存中而需将其调入,但内存已无空闲空间时,就需要从内存中调出一页程序或数据,送入磁盘的对换区,选择调出页面的算法就称为页面置换算法。由以上分析可知,许多在程序运行中不用或暂时不用的程序(数据)占据了大量的内存空间,而一些需要运行的作业又无法装入运行,显然浪费了宝贵的内存资源。原创 2024-10-07 18:49:08 · 1378 阅读 · 0 评论 -
操作系统 | 学习笔记 | 王道 | 3.1 内存管理概念
在分页存储管理(页式管理)的系统中,页是信息的物理单位,分页完全是系统行为,因此 页的大小由系统决定,逻辑地址在计算机的视角很好确定。紧凑技术:动态分区在开始时是很好的,但随着时间的推移,内存中会产生越来越多的外部碎片。快表,又称联想寄存器(TLB),是一种 访问速度比内存快很多的高速缓存器,用来存放最近访问的页表项的副本,可以加速地址变换的速度。段页式存储管理方式,将作业的地址空间首先被分成若干逻辑段,每段都有自己的段号,然后将每个段分成若干大小固定的页,内存空间分为大小一个个大小相等的分区。原创 2024-10-07 18:32:48 · 1199 阅读 · 0 评论 -
操作系统 | 学习笔记 | 王道 | 4.3 文件系统
当进程发起一个面向文件的系统调用时,内核调用VFS中的一个函数,该函数调用目标文件系统中的相应函数,将文件系统请求转换到面向设备的指令。当所有打开某个文件的用户都关闭该文件后,任何更新的元数据将复制到磁盘的目录结构中,并且整个系统的打开文件表的对应条目也会被删除。,位于磁盘的0号扇区,用来引导计算机,MBR后面是分区表,该表给出每个分区的起始和结束地址。文件存储设备分成许多大小相同的物理块,并以块为单位交换信息,因此,文件存储设备的管理实质上是对空闲块的组织和管理,它包括空闲块的组织、分配与回收等问题。原创 2024-10-07 16:47:54 · 1205 阅读 · 0 评论 -
操作系统 | 学习笔记 | 王道 | 4.2 目录
最后才找到文件“自拍Jpg”的存放位置。当User3访问“ccc”时,操作系统判断文件“ccc”属于Link类型文件,于是会根据其中记录的路径层层查找目录,最终找到User1的目录表中的“aaa”表项,于是就找到了文件1的索引结点。为使用户B能共享用户A的一个文件F,可以由系统创建一个LINK类型的新文件,也取名为F,并将该文件写入用户B的目录中,以实现用户B的目录与文件F的链接。当建立一个新文件时,必须先检索所有目录项,以确保没有“重名”的情况,然后在该目录中增设一项,把新文件的属性信息填入到该项中。原创 2024-10-07 16:29:22 · 1201 阅读 · 0 评论 -
操作系统 | 学习笔记 | 王道 | 4.1 文件系统基础
定义文件是以计算机硬盘为载体的存储在计算机上的信息集合,在用户进行的输入、输出中,以文件位基本单位。文件管理系统是实现的文件的访问、修改和保存,对文件维护管理的系统。文件的组成文件的结构数据项记录:是一组相关的数据项的集合,用于描述一个对象在某方面的属性。文件:是指由创建者所定义的、具有文件名的一组相关元素的集合,分为有结构文件和无结构文件两种。原创 2024-10-07 16:07:33 · 1171 阅读 · 0 评论 -
操作系统 | 学习笔记 | | 王道 | 5.3 磁盘和固态硬盘
1.只能顺序:磁带可以按任意次序读写:光盘,U盘,磁盘2.磁盘调度中对读写时间影响最大的是寻道时间(这个是机械运动,耗时)3.硬盘的操作系统引导扇区产生在对硬盘进行高级格式化时4.静态磨损均衡算法比动态的算法表现更加优秀。原创 2024-09-23 16:45:34 · 1113 阅读 · 0 评论 -
操作系统 | 学习笔记 | | 王道 | 5.2 设备独立软件
1.因为CPU速度比IO设备高很多,缓冲技术的缓冲区缓冲池通常在主存中建立2.单双缓冲通信时都可以实现数据的双向传输,只是单不能在同一时刻而双可以3.如果IO比CPU快很多,那么缓冲区就没必要设置4.缓冲区管理者着重需要考虑的问题是实现进程访问缓冲区的同步,因为缓冲区是一种临界资源,要互斥的进行访问5.设备分配程序为进程分配设备的过程是:先分配设备,再分配设备控制器,最后分配通道6.单机中最重要的是CPU资源,要提高单机资源利用率优先提高CPU资源利用率。原创 2024-09-20 19:40:58 · 895 阅读 · 0 评论 -
操作系统 | 学习笔记 | | 王道 | 5.1 I/O管理概述
注:块设备可以寻址,但是字符设备是不可寻址的I/O设备是将数据输入到计算机中,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件;设备的分类按使用特性分类:人机交互类外部设备:鼠标、键盘、打印机等,用于人机交互。数据传输速度慢。存储设备:移动硬盘、光盘等,用于数据存储。数据传输速度快。网络通信设备:调制解调器等,用于网络通信。数据传输速度介于上述二者之间。按信息交换的单位分类:块设备。信息交换以数据块为单位。它属于有结构设备,如磁盘等。原创 2024-09-20 19:36:53 · 928 阅读 · 0 评论