欲奴观看免费80s-欲孽横流(np高h)最新章节-欲梦ai换脸www在线观看视频-欲漫色-久久乐国产精品亚洲综合m3u8-久久老色鬼天天综合网观看

系統家園 - 系統下載更安全,全網最新系統專題大全。
最新更新 系統重裝教程(一看就會視頻+圖文版)
當前位置: 首頁 > 系統教程 > 硬件相關

進程間通信(IPC)解決和問題和算法

更新日期:2023-09-23 21:34:48

來源:轉載

手機掃碼繼續觀看
進程間通信(IPC)解決和問題和算法
談談我們的進程間通信,上次我們談進程是什么?進程是社會的一個個人,每個都有自己的財產,都有自己的空間,那么人需要通信嗎?人需要通信,否則社會不會向前流通,而進程作為一個個實體也會有自己的溝通,否則一個個憋在那能干什么?當然當個笑話聽!這里面涉及到三個問題,第一是比較棘手的,怎么把信息從一個進程傳給另外一個進程?這個我們這樣想,人在社會上生存是不是要交流,你給老外講中文他能聽懂?所以信息必須以一種約定好的規格傳遞,當然,這只是我這樣想。第二點,人在社會中生存,我們都會有競爭,我們都需要搶奪資源,這對于進程來講也一樣的,而且很多時候兩者會產生沖突造成一些不可預估的結果,我們想人之間有沖突會打架需要調節,進程不一樣的嗎?最后一點是進程間的執行有時是需要秩序的,進程A獲得數據而進程B打印數據,諸如此類。 所以我們歸納進程間通信(IPC)主要解決三個問題:在進程間傳遞數據進程間約定秩序協調對于共享數據的互斥訪問 topic1: 競爭條件:當兩個或多個進程同時訪問某個共享區域時(通常會有讀寫兩種情況),最后的運行結果取決于進程的運行時序,這樣就產生了競爭條件,很經典的問題就是對文件的讀寫,一個在讀,一個在寫,讀出來的東西很可能不是你想要的,所有IPC必需要協調好對于共享數據的互斥訪問,也就是說,必需要有這樣一種機制能夠避免這種競爭的發生! 臨界區的概念: 既然有競爭,那我們就必須要去協調!如何避免?比如張三和李四都想要某個東西,兩個人打起來了,現在怎么辦,他們自己肯定不想停下來,都想要這個東西,現在我們作為他們的上級,肯定要說,你們不要打了,讓其中一個拿走這個東西,或者更好的建議是,我們在之前就應該分配好,在更高的層次上說,比如張三就應該先拿走這個東西,可是這樣對于其他人(其他進程)是不公平的,所以誰先到先得,我們只需要保證,當他拿到這個東西的時候,其他人不能搶奪,拿不走,同樣的思想,運用在進程上!這種思想的根本在于對于互斥的實現,一個人在做,另外的人只能看! 不知你懂否,看了這么久,其實我們就是在探討一個問題,上面的問題3,如何達到互斥訪問,但是這樣的描述其實還不夠精確,因為事實上,進程真正訪問共享區域的只有一部分時間而已,為了把互斥做得更細致,我們要往下走!一個進程訪問共享區域的那部分代碼,我們不妨稱之臨界區,其實名字無所謂,但是這個考試或者面試經常考,而且很多人誤以為是內存或者資源,不要鬧了笑話!那我們以這樣的視角看,大家都有開車的時候,這么多人,都某個點開出來那么肯定會堵車,那我們只要讓大家錯開時間段出來就好了啊! 當然這依然是一個很粗的模型,事實上,我們需要提出一個方案(也就是一個算法)解決互斥(如同解決交通堵塞問題一樣),這個方案最好應該滿足以下的條件: 基本條件,解決互斥 你的方案不應該對cpu速度和這類條件作任何假設,這個很容易理解,cpu的執行在多道程序模型下是具有不可再現性的! 因為臨界區互斥,A進程在占用,B進程阻塞,但是C進程不能因為B進程的阻塞阻塞,也就是說不要引起無關人的損傷! A執行,B阻塞,你讓我一直等!no!那我還咋混!笑話聽。 上面最后兩點涉及到后面會談到的死鎖,活鎖,饑餓,反正大家記住,系統就是要讓每個進程都能安安穩穩的執行! 說白了,比較好的結果就,A執行,B等一會,A走了,B跑,大家走,理想的效果! 下面就這個算法向大家介紹一些比較典型的算法! 這個為了講清楚,我不想講的很籠統,首先大家要知道從大的角度看,有兩種方式,忙等待與非忙等待! 忙等待和非忙等待不是兩種算法,而是兩種思路,下面包括實際的解決方法,其實忙等待和非忙等待是很經典的兩個模型,不僅在進程通信有這個概念,其實就是事件模型,當某個事件發生的時候,你如何知道?比如你在等某一個人,如果你很急,你可能會不斷跑到門口去看,來了沒有啊!這就是忙等待,非忙等待就是我在這睡覺,咦,有人敲門了,好,等到了!這個聽懂了,很多其他開發你自然理解了! 我們說忙等待,如何實現互斥? 籠統的講,忙等待實現互斥是通過不斷的檢測一個狀態變量,當這個狀態變量為某個值的時候就往下執行!你也可以按你的思路理解,這個狀態變量,就像一把鎖,你不斷去看開了沒有,也可以理解為一個信號燈,隨你的想法了,但是思想都是一樣的! 忙等待的幾個算法: first:禁止中斷,這種方法你需要知道一個前提,我們需要讓進程1執行完后進程2,3,4.。。依次執行,如何實現?我們通過時間中斷,每次時間中斷后更新進程x的執行時間,到了時間了,對不起了您,收拾東西先回去吧!所以如果你關了中斷,這就是開了外掛啊,哥想執行多久就執行多久,誰還能搶奪我的時間,我得資源?可是這樣帶來了一些問題,第一用戶沒有權利開關中斷,限于內核編程,另外現在cpu多核,關一般關一個核的中斷,最后,你掌控了全局的壽命,這不是很安全的做法,要是你小子不把時間給其他人咋辦?所以,現在這種方式不是很有用。 second:嚴格交替法,設置一個變量不妨為x,這種方法在進程1和進程0間討論,設x最開始為0,進程0不斷對x檢測看是否為0,進程1不斷對x檢測看是否為1,這里先敘述到這,下章再續。
該文章是否有幫助到您?
Windows 10 系統在線下載
Windows 10 是迄今為止最好的 Windows|前往下載,成就你的非凡
立即下載 視頻教程:如何安裝該系統?
常見問題
系統下載排行

其他人正在下載 更多
安卓下載 更多
手機上觀看
掃碼手機上觀看
主站蜘蛛池模板: 亚洲精品在线影院 | 国产三级级在线电影 | 色偷偷av男人的天堂 | 好男人好资源在线播放 | 办公室丝袜老师在线观看 | 青青草国拍2018 | 含羞草在线免费观看 | 德国xxxx | 美女露出乳胸扒开尿口 | 添加一点爱与你电视剧免费观看 | 热久久综合这里只有精品电影 | 在线观看黄色小说 | 欧美精品中文字幕亚洲专区 | 精品久久久噜噜噜久久久app | 在线中文字幕网站 | 亚洲 自拍 欧洲 视频二区 | 成人1000部免费观看视频 | 2019午夜福利757视频第12集 | 久青草国产97香蕉在线视频 | 国产精品午夜福利在线观看 | 强开乳罩摸双乳吃奶视频 | 野花日本手机观看大全免费3 | 风流少妇BBWBBW69视频 | 色欲无码国产喷水AV精品 | 欧美色偷偷亚洲天堂bt | 久久婷婷国产五月综合色啪最新 | 九色PORNY真实丨首页 | 好好的曰com久久 | 百度影音第四色 | 国产免国产免费 | 丝瓜涩涩屋黄瓜香蕉丝瓜 | 人成午夜免费视频 | 成人免费一级毛片在线播放视频 | 男人被绑着强行摸j | 小夫妻天天恶战 | 国产免费怕怕免费视频观看 | 交video| 玩弄人妻少妇500系列网址 | 且试天下芒果免费观看 | 欧美在线看欧美视频免费 | 丰满少妇69激情啪啪无码 |