| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 十天玩转操作系统之最最最最最重点之死锁,一篇文章就搞定!! -> 正文阅读 |
|
[系统运维]十天玩转操作系统之最最最最最重点之死锁,一篇文章就搞定!! |
???????操作系统(OS)这门学科在计算机领域有着很重要的作用,作为计算机硬件和软件的临界者,对计算机发展有着很重要的意义,随着时代的不断发展,越来越多的操作系统进入大众视野,无论是大家耳熟能详的Windows、MAC,抑或是程序员口中经常念叨的Linux。除了电脑操作系统,手机中的鸿蒙、苹果、安卓也是大家关注的热点,因此要想在计算机领域有所造诣,操作系统是必须要了解掌握的一门学科,因此在这里借助平台,跟大家分享一下我学习操作系统的经验和笔记,用十天的时间来和大家梳理和整理这门学科,让我们一起探索其中的奥秘,享受知识带给我们的快乐吧!!! 管程结合上篇文章,可以了解到信号量机制存在的问题:编程程序困难、易出错 管程特点:管程封装了同步操作,对进程隐蔽了同步细节,简化了同步功能的调用界面。用户编写并发程序如同编写顺序(串行)程序。 管程是一种特殊软件模块: 管程的基本特征: 管程的属性: 伪代码实现:
管程引进类似于JAVA编程中封装的思想,实现进程同步互斥的高度解耦,也便于程序员调用功能函数和编写代码,从而进一步提高编程效率。于此同时关于进程与线程中很重要的一个环节,也是程序员编程中不可缺少和回避的一个环节——死锁问题,解决死锁和避免死锁是编程中老生常谈的问题,也是代码工作者需要认真思考的地方,因此我们要了解死锁产生的每一个环节,明白发生的原因及条件,从而牢牢掌握! 死锁在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致进程阻塞。 产生死锁必须同时满足四个条件:
发生死锁一定存在循环等待,但是发生循环等待未必死锁 发生死锁的情况: 处理死锁情况 (1)预防死锁 操作系统通过调度强行剥夺进程资源 —— 限制不剥夺条件 静态分配方法:一次申请提供所有需要资源,直至该进程结束 顺序资源分配法:给出系统中资源编号,规定每个进程必须按编号递增的顺序请求资源 (2)避免死锁(银行家算法) 银行家算法核心思想:系统提出资源申请是,预判资源分配实收会使操作系统进入不安全状态,若是,暂时不答应此次请求 假设系统中有n个进程,m种资源 (3)死锁的检测和解除
(一条边代表分配了一个资源或发出一个资源请求,若一个图可以可完全简化,则此时没有发生死锁(相当于找到一个安全序列),若最后还有连接的边则表示为处于死锁的进程) 【2】死锁解除算法
【3】如何“动手”?
??????第五天的学习到这里就结束了,不知道小伙伴们收获如何呢?欢迎评论区交流学习,也恳请各位批评指正!! ??????操作系统其实就是计算机中的一个大管家,这个大管家有着很多很厉害的角色(就像谍战片里面的大府中的老管家一样),因此学习操作系统这门课,就像是在欣赏一部谍战片,要想理解角色内涵,你就必须站在其角度去思考,思考其可能会遇到的危险以及应对策略(bug与bug的修复),这样你才能在凶险的代码江湖生存下来,成为一代英雄,留下你的印记,期待与各位在江湖的相遇,也希望大家能给作品一个三连!! 本文参考教材:王道考研——操作系统(配套PDF文件,点赞留言后私信我发你) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 6:23:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |