![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OS操作系统
文章平均质量分 72
OS
自律即自由w
双非大二再读,目标暑期实习oc,现在进度为C++,数据结构, linux ,操作系统,网络编程,数据库
展开
-
操作系统内存管理概述
内存管理在操作系统中扮演着至关重要的角色,直接影响着系统的性能和稳定性。通过理解内存的层次结构、虚拟内存、MMU等基本概念,我们能够更好地设计和优化系统,提高计算机系统的整体效率。希望本文能为读者提供一个全面的内存管理概览,并激发更深入的学习与思考。原创 2024-03-10 21:08:15 · 341 阅读 · 0 评论 -
锁,临界区,互斥等
因此,锁的作用就是确保在任何时刻只有一个人可以进入临界区,防止多个人同时访问导致的混乱或资源冲突。这类似于在计算机程序中实现临界区的思想,即确保在任意时刻只有一个线程或进程可以访问共享资源,以防止数据竞争和不一致性。在浴室的例子中,可以将锁类比为一种管理访问洗漱区域的机制。总的来说,虽然临界区的长度可能会根据具体情况变长,但是在实际开发中,我们通常会尽量控制临界区的长度,以确保程序的性能和正确性。如果可能的话,将较长的临界区分解成多个较小的临界区,这样可以减少多个线程或进程之间的竞争,提高并发性能。原创 2024-03-26 19:48:23 · 706 阅读 · 0 评论 -
死锁的避免
死锁只有。原创 2024-04-07 16:29:17 · 415 阅读 · 0 评论 -
什么是进程??????
故事:城里人有城里人的规矩,城中有个专门管辖你们的城管(),人家让你休息就休息,让你工作就工作,毕竟摊位不多,每个人都要占这个摊位来工作,城里要工作的人多着去了。所以城管为了公平起见,它使用一种策略()方式,给每个人一个固定的工作时间(),时间到了就会通知你去休息而换另外一个人上场工作。另外,在休息时候你也不能偷懒,要记住工作到哪了,不然下次到你工作了,你忘记工作到哪了,那还怎么继续?有的人,可能还进入了县城()工作,这里相对轻松一些,在休息的时候,要记住的东西相对较少,而且还能共享城里的资源。原创 2024-03-13 20:38:08 · 1021 阅读 · 0 评论 -
关于调度算法,小林给出更好的例子(银行办理业务)
看的迷迷糊糊?那我拿去银行办业务的例子,把上面的调度算法串起来,你还不懂,你锤我!现在,假设这个银行只有一个窗口(单核 CPU ),那么工作人员一次只能处理一个业务。那么最简单的处理方式,就是先来的先处理,后面来的就乖乖排队,这就是FCFS。但是万一先来的这位老哥是来贷款的,这一谈就好几个小时,一直占用着窗口,这样后面的人只能干等,或许后面的人只是想简单的取个钱,几分钟就能搞定,却因为前面老哥办长业务而要等几个小时,你说气不气人?原创 2024-03-23 14:45:23 · 766 阅读 · 0 评论 -
什么又是线程呢??
因为操作系统感知不到 线程,如果有线程在运行,然后不交出使用权,用户程序是没法进行打断的,只有操作系统可以,但是操作系统又看不到线程,导致同一进程的其他线程没法运行;线程可以并发的执行,但是线程的地址是可以共享的。多个轻量级进程对应一个内核线程。只有用户程序的库函数来。原创 2024-03-16 22:20:29 · 329 阅读 · 0 评论 -
进程通信 (信号量,管程),以及生产者消费者模型
直到进程 A 访问完共享内存,才会执行 V 操作,使得信号量恢复为 0,接着就会唤醒阻塞中的线程 B,使得进程 B 可以访问共享内存,最后完成共享内存的访问后,执行 V 操作,使信号量恢复到初始值 1。然后进去临界区,mutex 为0,可以进入,但是消费者不能干预,所以添加数据,退出临界区的时候,mutex+1,使得消费者可以进入,然后full+1,表示增加了一个资源。初始值可以设置为0,当火车进入之前,执行p-操作,然后走了之后,执行v+操作,使的后面的阻塞进程被告知可以进入。原创 2024-04-05 21:44:28 · 605 阅读 · 0 评论 -
进程的调度,原则,算法
响应时间越小越好,平均响应时间的波动越小越好,稳定 (不能忽大忽小),吞吐量增加,减少每个进程的等待时间。有可能新进来的时间比正在运行的进程的时间还要短,那么cpu不理,这种就是非抢占的最短任务优先。执行时间最短放前面(进程执行的时间是需要预测的)进行上下问切换的时候根据什么原则来切换进程呢。等待时间+执行时间/执行时间,选择比最大的。在他下次等待的时候,优先级会越来越低。花费时间少的任务排在时间多的后面。进程的什么周期什么时候进行调度。评价指标,作为调度算法的参考。可抢占的最短任务优先。原创 2024-03-23 14:12:13 · 246 阅读 · 0 评论 -
进程创建,程序加载运行,以及进程终止,什么是僵尸进程,什么是孤儿进程
如果父进程在子进程结束前就退出了,子进程将会成为孤儿进程,而不是僵尸进程。孤儿进程将被 init 进程(通常是进程 ID 为 1 的进程)接管,并且在子进程结束后,init 进程会负责回收子进程的资源,这样就避免了僵尸进程的产生。父进程主动退出:父进程在创建子进程后,执行完自己的任务后主动退出,而不等待子进程结束。父进程意外终止:父进程在创建子进程后,由于某种原因意外终止,例如由于错误或异常而导致父进程崩溃或被终止。如果子进程结束了,操作系统会通知父进程,父进程从等待函数返回,并获取子进程的退出状态。原创 2024-03-21 22:29:06 · 768 阅读 · 0 评论