随笔分类 -  操作系统--基于Linux0.11--哈工大mooc(网课)

摘要:哲学家就餐的问题。 死锁:互相等待对方持有的资源而造成的谁的无法执行的情况叫做死锁。 死锁处理: 死锁预防 死锁避免:判断一下该时间有没有一个进程处于安全序列 死锁检测+恢复:判断死锁,释放一定的资源 死锁忽略 阅读全文
posted @ 2023-01-12 16:45 stu--wy 阅读(13) 评论(0) 推荐(0) 编辑
摘要:信号量 进程同步:让进程走走停停实现合理有序,通过信号量实现合理有序。 以生产者,消费者实例,多个线程负责生产,多个线程负责消费,生产者消费者共用一个缓冲区,线程之间需要同步。 用信号进行同步。缓冲区满了,该线程睡眠,缓冲区有空余,将唤醒一个线程。 用信号进行同步,不能解决全部问题。引出信号量,信号 阅读全文
posted @ 2023-01-12 16:29 stu--wy 阅读(61) 评论(0) 推荐(0) 编辑
摘要:并发与并行: 并发指的是快速切换 并行是真正意义上的同时运行 任何代码块,只要在它运行的时候提供它所依赖的上下文环境,这个上下文环境就是它所使用的寄存器映像,栈,内存等资源就可以成为执行流。线程就是运行函数的一段载体。线程没有自己独享的地址空间,线程必须“活”在进程的世界里。 进程是指正在运行的程序 阅读全文
posted @ 2023-01-03 14:36 stu--wy 阅读(15) 评论(0) 推荐(0) 编辑
摘要:多进程图像: 多进程图像从启动开始到关机结束。 操作系统要让用户使用计算机,创建了第一个进程shell。 每个进程有自己的ID。 操作系统如何组织进程? PCB (process control block):记录进程信息的数据结构。 如何组织:就是在PCB结构之上形成一些数据结构。如就绪队列,阻塞 阅读全文
posted @ 2023-01-03 11:45 stu--wy 阅读(26) 评论(0) 推荐(0) 编辑
摘要:内核级线程是多核CPU充分发挥作用的关键,是并行的关键。 用户级线程切换是内核级线程切换的一部分。用户级线程和内核级线程的实现有很多相似之处。 内核级线程的核心就是****两套栈****。 内核级线程的切换:从用户出发,中断到内核,通过schedule()调度和函数返回技巧完成PCB的切换,再通过i 阅读全文
posted @ 2023-01-03 11:44 stu--wy 阅读(44) 评论(0) 推荐(0) 编辑
摘要:线程切换:不切换映射关系,不切换资源,只切换执行的指令顺序。线程保留了并发的优点,避免了进程切换的代价。 进程切换:指令切换+资源切换(映射表的切换)线程切换:指令切换,不切换资源 例如一个网页浏览器可以:用一个线程用来接收数据,一个线程来显示文本,一个线程用来处理图片,一个线程用来显示图像。这些线 阅读全文
posted @ 2023-01-02 21:10 stu--wy 阅读(44) 评论(0) 推荐(0) 编辑
摘要:内存换入: 若虚拟地址有4G,物理内存只有1G,用换入换出实现“大内存”。请求的时候才映射。有可能请求的时候,没有映射到实际的页框,则需要调入。缺页中断,找到一个物理内存的空页,将目标从磁盘中读入,并换进。段分配了虚拟地址不代表真正有了物理内存,只有在执行的时候知道有没有具体映射,如果没有,就会开缺 阅读全文
posted @ 2022-11-21 09:52 stu--wy 阅读(91) 评论(0) 推荐(0) 编辑
摘要:内存管理的核心就是分配内存。多进程图像下的内存分配。 用户希望的程序:分段 操作系统希望的程序:分页存储:见 :https://www.cnblogs.com/wuyun--wy/p/16935669.html 一个段放在多个页中。 分段,建段表,分配内存(此处并没有分配物理内存),建页表。 lin 阅读全文
posted @ 2022-11-21 09:52 stu--wy 阅读(27) 评论(0) 推荐(0) 编辑
摘要:操作系统提供多层抽象 生磁盘 信息的读写本质上是磁生电,电生磁的过程。直接操作磁盘无非就是一些out指令。 磁盘的第一层抽象:扇区 >盘块 磁盘访问时间=写入控制器时间+寻道时间+旋转时间+传输时间。 盘块:多个扇区 扇区的读写,耗费的时间主要在寻道上。 操作系统提供:抽象+效率 三维地址到一维地址 阅读全文
posted @ 2022-11-21 09:51 stu--wy 阅读(79) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示