国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【進(jìn)程相關(guān)概念】面試常見問題,進(jìn)程狀態(tài),進(jìn)程優(yōu)先級,并行與并發(fā),進(jìn)程通信等

這篇具有很好參考價(jià)值的文章主要介紹了【進(jìn)程相關(guān)概念】面試常見問題,進(jìn)程狀態(tài),進(jìn)程優(yōu)先級,并行與并發(fā),進(jìn)程通信等。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言:
大家好,我是良辰丫,今天我們來認(rèn)識(shí)一下進(jìn)程的相關(guān)概念,當(dāng)接觸到進(jìn)程,也就意味著我們進(jìn)入了javaEE的學(xué)習(xí)階段,這篇文章主要帶大家去學(xué)習(xí)一些面試題,幫助大家更好的去學(xué)習(xí)并熟悉進(jìn)程,跟著我的步伐一起進(jìn)入學(xué)習(xí)吧!!!??????

??個(gè)人主頁:良辰針不戳
??所屬專欄:javaEE初階
??勵(lì)志語句:生活也許會(huì)讓我們遍體鱗傷,但最終這些傷口會(huì)成為我們一輩子的財(cái)富。
??期待大家三連,關(guān)注,點(diǎn)贊,收藏。
??作者能力有限,可能也會(huì)出錯(cuò),歡迎大家指正。
??愿與君為伴,共探Java汪洋大海。

【進(jìn)程相關(guān)概念】面試常見問題,進(jìn)程狀態(tài),進(jìn)程優(yōu)先級,并行與并發(fā),進(jìn)程通信等

1、 進(jìn)程(任務(wù))是什么

所謂進(jìn)程,可以這樣理解,一個(gè)運(yùn)行起來的程序就叫進(jìn)程.也可以把程序比作一個(gè)工廠,工廠正在加工運(yùn)轉(zhuǎn)的即進(jìn)程.
每個(gè)應(yīng)用程序運(yùn)行于現(xiàn)代操作系統(tǒng)之上時(shí),操作系統(tǒng)會(huì)提供一種抽象,好像系統(tǒng)上只有這個(gè)程序在運(yùn)
行,所有的硬件資源都被這個(gè)程序在使用。這種假象是通過抽象了一個(gè)進(jìn)程的概念來完成的,進(jìn)程可以說是計(jì)算機(jī)科學(xué)中最重要和最成功的概念之一。
進(jìn)程是操作系統(tǒng)對一個(gè)正在運(yùn)行的程序的一種抽象,換言之,可以把進(jìn)程看做程序的一次運(yùn)行過程;同時(shí),在操作系統(tǒng)內(nèi)部,進(jìn)程又是操作系統(tǒng)進(jìn)行資源分配的基本單位。

后綴名為exe的文件叫做可執(zhí)行文件,在沒有點(diǎn)擊它運(yùn)行之前,它只能叫做程序,當(dāng)我們點(diǎn)擊它之后,在它運(yùn)行的時(shí)候,我們就給它有了新的定義,叫做進(jìn)程.

【進(jìn)程相關(guān)概念】面試常見問題,進(jìn)程狀態(tài),進(jìn)程優(yōu)先級,并行與并發(fā),進(jìn)程通信等

進(jìn)程運(yùn)行的時(shí)候需要向操作系統(tǒng)申請資源,需要反復(fù)強(qiáng)調(diào)的一句話是進(jìn)程是操作系統(tǒng)進(jìn)行資源分配的基本單位,此處涉及的資源包括內(nèi)存,硬盤,CPU等.

2、 進(jìn)程控制塊相關(guān)概念

  • pid: 進(jìn)程的唯一標(biāo)識(shí),相當(dāng)于一個(gè)人的身份證號(hào)碼.
  • 內(nèi)存指針: 當(dāng)前內(nèi)容使用的內(nèi)存是那一部分(表示地址指向),進(jìn)程要跑起來就需要消耗一定的硬件資源,比如內(nèi)存.
  • 文件描述符表: 硬盤上存儲(chǔ)的數(shù)據(jù),就是以文件為單位進(jìn)行整理的,進(jìn)程每次打開一個(gè)文件,就會(huì)產(chǎn)生一個(gè)文件描述符(標(biāo)識(shí)了這個(gè)被打開的文件),一個(gè)進(jìn)程可能會(huì)打開許多文件,對應(yīng)了一組文件描述符,把這樣的文件描述符放到一個(gè)順序表這樣的結(jié)構(gòu)里面,就構(gòu)成了所謂的文件描述符.這標(biāo)識(shí)著進(jìn)程運(yùn)行的時(shí)候使用了哪些硬盤上的資源.
  • 進(jìn)程關(guān)聯(lián)的程序信息,例如哪個(gè)程序,加載到內(nèi)存中的區(qū)域等分配給該資源使用的各個(gè)資源

3、 進(jìn)程與CPU資源的相關(guān)屬性

程序之所以能運(yùn)行,全依靠CPU,每個(gè)程序,其實(shí)就是一組二進(jìn)制指令的集合,那么我們簡單認(rèn)識(shí)一下CPU.
cpu 中文名叫中央處理器(Central Processing Unit,簡稱CPU),是計(jì)算機(jī)系統(tǒng)的運(yùn)算和控制核心,是信息處理、程序運(yùn)行的最終執(zhí)行單元。CPU是人類科技史上最偉大的成就之一.

3.1 進(jìn)程狀態(tài)

進(jìn)程有許多運(yùn)行狀態(tài),我們主要了解兩個(gè)狀態(tài).

  • 就緒狀態(tài) : 進(jìn)程已經(jīng)準(zhǔn)備好,隨時(shí)可以在CPU上執(zhí)行.
  • 阻塞狀態(tài) : 該進(jìn)程無法在CPU上執(zhí)行.

簡單了解一下上面兩個(gè)狀態(tài),加入你有一個(gè)好朋友A,你們兩個(gè)約好一起去旅游,但是暫時(shí)沒有定時(shí)間,A也沒有其它的事情要干,當(dāng)你要去旅游的時(shí)候,你可以隨叫隨到,這就相當(dāng)于就緒狀態(tài);你還有一個(gè)好朋友B,因?yàn)橐恍┨厥獾那闆r,他出差了,你們曾經(jīng)約定可以一起旅行,但是可能暫時(shí)做不到了,這就是所謂的阻塞狀態(tài).

3.2 進(jìn)程的優(yōu)先級

進(jìn)程是具有一定的優(yōu)先級的,在CPU上規(guī)定了一系列對進(jìn)程的優(yōu)先級約束,比如先來先服務(wù)就是按照哪個(gè)進(jìn)程先執(zhí)行,另一個(gè)進(jìn)程進(jìn)入阻塞狀態(tài).按照優(yōu)先級的次序進(jìn)行執(zhí)行.

3.2 進(jìn)程的上下文

所謂上下文,就是描述了進(jìn)程執(zhí)行到哪里的存檔信息,進(jìn)程在離開CPU的時(shí)候要對當(dāng)前進(jìn)程運(yùn)行的中間結(jié)果進(jìn)行存檔,等下次進(jìn)程回到CPU的時(shí)候恢復(fù)之前的存檔,從上次的結(jié)果繼續(xù)向后執(zhí)行,這樣就不會(huì)后臺(tái)退出,比如王者農(nóng)藥這個(gè)游戲,我們掛著后臺(tái)回復(fù)一個(gè)消息或者干一些別的事情,我們回到王者,后臺(tái)依然存在.

  • 如果進(jìn)程結(jié)束了,就不必進(jìn)行存檔.
  • 在進(jìn)程中理解上下文,進(jìn)程在運(yùn)行的過程中,CPU內(nèi)部的一系列寄存器的值,其中,寄存器的作用有很多,我們需要記得的是寄存器用來保存當(dāng)前進(jìn)程執(zhí)行的中間結(jié)果,包括進(jìn)程運(yùn)行到哪一條指令.
  • 存檔,就是進(jìn)程在離開CPU的時(shí)候,就需要把這些寄存器的值存到PCB的上下文字段中;讀檔,進(jìn)程下次回到CPU,再把PCB的值恢復(fù)到寄存器中.

3.3 并行與并發(fā)

并行: 同一個(gè)時(shí)刻,兩個(gè)核心同時(shí)執(zhí)行兩個(gè)進(jìn)程,此時(shí)這兩個(gè)進(jìn)程就是并行執(zhí)行的(一起執(zhí)行).并行可以理解為兩個(gè)人分別一起做兩件事情.

并發(fā): 一個(gè)核心,先執(zhí)行進(jìn)程1,執(zhí)行一會(huì)再執(zhí)行進(jìn)程2,執(zhí)行一會(huì)兒進(jìn)程2之后再執(zhí)行進(jìn)程3…然后再返回來執(zhí)行進(jìn)程1,一會(huì)再執(zhí)行進(jìn)程2…只要切換的速度快,在我們?nèi)庋劭磥砥鋵?shí)和并行沒有什么區(qū)別(可以簡單的認(rèn)為同時(shí)執(zhí)行).

很多情況下操作系統(tǒng)的任務(wù)通過并行和并發(fā)兩種方式共同完成的,我們通常把并行+并發(fā)的方式統(tǒng)稱為并發(fā).當(dāng)一個(gè)核心(主體)并發(fā)執(zhí)行幾萬甚至幾十萬個(gè)任務(wù)的時(shí)候,我們把它叫做高并發(fā).

3.4 進(jìn)程的進(jìn)賬信息

統(tǒng)計(jì)每個(gè)進(jìn)程在CPU上執(zhí)行了多久,可作為進(jìn)程調(diào)度的參考依據(jù).比如在CPU中三個(gè)進(jìn)程ABC,可能進(jìn)程A執(zhí)行時(shí)間比較少,我們就可以多給它分配一些執(zhí)行時(shí)間.

3.5 組織PCB

操作系統(tǒng)往往通過雙向鏈表組織PCB

  • 創(chuàng)建一個(gè)進(jìn)程就是創(chuàng)建一個(gè)鏈表節(jié)點(diǎn).
  • 銷毀一個(gè)進(jìn)程就是銷毀一個(gè)鏈表節(jié)點(diǎn).
  • 遍歷進(jìn)程就是遍歷進(jìn)程鏈表.

3.6 內(nèi)存分配(內(nèi)存管理)

操作系統(tǒng)對內(nèi)存資源的分配,采用的是空間模式 —— 不同進(jìn)程使用內(nèi)存中的不同區(qū)域,互相之間不會(huì)干擾.操作系統(tǒng)給資源分配的內(nèi)存,是以虛擬地址空間的方式進(jìn)行分配的,每個(gè)進(jìn)程訪問的內(nèi)存地址,其實(shí)并不是真正的內(nèi)存地址.

3.6.1 直接訪問物理內(nèi)存地址

下面是進(jìn)程直接訪問物理內(nèi)存地址,此時(shí)可能產(chǎn)生問題,如果進(jìn)程A奔潰了,會(huì)把同一內(nèi)存條上的其它進(jìn)程也搞奔潰.這就對于操作系統(tǒng)的穩(wěn)定性產(chǎn)生了一定的挑戰(zhàn).

【進(jìn)程相關(guān)概念】面試常見問題,進(jìn)程狀態(tài),進(jìn)程優(yōu)先級,并行與并發(fā),進(jìn)程通信等

那么,什么是穩(wěn)定性,可以簡單的認(rèn)為,兩個(gè)相關(guān)聯(lián)的東西,其中一個(gè)壞掉了導(dǎo)致另外一個(gè)不能運(yùn)行,這就是說明這兩個(gè)相關(guān)聯(lián)的東西形成的整體穩(wěn)定性較差;反之,如果沒有較大的影響,我們就說這個(gè)整體穩(wěn)定性較好.

3.6.2 通過虛擬地址訪問物理內(nèi)存地址

【進(jìn)程相關(guān)概念】面試常見問題,進(jìn)程狀態(tài),進(jìn)程優(yōu)先級,并行與并發(fā),進(jìn)程通信等

上面兩個(gè)進(jìn)程中,通過代碼操控自己要訪問的物理內(nèi)存地址,訪問的內(nèi)存會(huì)被操作系統(tǒng)自動(dòng)映射到真正的物理內(nèi)存上,但是進(jìn)程自身感知不到真正的物理內(nèi)存地址是什么.此時(shí)進(jìn)程A奔潰了就不會(huì)影響進(jìn)程B,因?yàn)槿魏我粋€(gè)內(nèi)存操作都需要通過頁表來進(jìn)行翻譯,如果出現(xiàn)野指針,野指針的地址會(huì)與頁表上的地址進(jìn)行對比,如果頁表上沒有這個(gè)地址將無法翻譯,也就無法訪問并修改物理內(nèi)存,因此呢,也不會(huì)對別的進(jìn)程造成干擾.

這樣可以有效的校驗(yàn),校驗(yàn)當(dāng)前的地址是否有效.一個(gè)進(jìn)程無法干預(yù)另一個(gè)進(jìn)程的內(nèi)存,表示了每個(gè)進(jìn)程有自己獨(dú)立的地址空間.這樣大大提高了操作系統(tǒng)的穩(wěn)定性.

3.7 進(jìn)程間的通信

有些時(shí)候進(jìn)程之間需要相互配合,交互運(yùn)行.
如果每個(gè)進(jìn)程可以直接訪問物理內(nèi)存(沒有隔離性),也就不需要進(jìn)程通信,進(jìn)程A直接把結(jié)果寫到進(jìn)程B的內(nèi)存中就可以了.

  • 所謂進(jìn)程通信,就是在隔離性的前提下,找一個(gè)公共區(qū)域,讓兩個(gè)進(jìn)程借助這個(gè)公共區(qū)域完成進(jìn)程間的數(shù)據(jù)交換.
  • 操作系統(tǒng)提供的進(jìn)程間通信方式有很多種,有管道,消息隊(duì)列,共享內(nèi)存,信號(hào)等.
  • 在java中,我們主要使用文件和socket這兩種方式完成進(jìn)程通信(后續(xù)詳解).

后序:
今天我們有關(guān)的內(nèi)容就到這里了,我們學(xué)習(xí)了進(jìn)程的一些相關(guān)概念,學(xué)習(xí)了進(jìn)程控制塊,進(jìn)程一些屬性等內(nèi)容,希望本篇小小的文章可以幫到大家??????文章來源地址http://www.zghlxwxcb.cn/news/detail-401100.html

到了這里,關(guān)于【進(jìn)程相關(guān)概念】面試常見問題,進(jìn)程狀態(tài),進(jìn)程優(yōu)先級,并行與并發(fā),進(jìn)程通信等的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 項(xiàng)目經(jīng)理崗面試常見問題

    一、注意事項(xiàng) ? ·電面邀約確認(rèn)(避免hr刷KPI): 請問貴司招聘的是什么崗位,是新建團(tuán)隊(duì)還是原有團(tuán)隊(duì)? 這邊面試流程是怎樣的,是 leader 直接面,還是? ? ·面試前鋪墊: 如果您對某部分感興趣,請隨時(shí)打斷我。 ? ·面試中發(fā)揮: 盡量采用 STAR 原則回答,即 情境( Si

    2024年02月05日
    瀏覽(30)
  • JVM基礎(chǔ),面試常見問題

    JVM基礎(chǔ),面試常見問題

    目錄 一.運(yùn)行時(shí)數(shù)據(jù)區(qū)域 1.線程獨(dú)享 (1)棧 (2)程序計(jì)數(shù)器 2.線程共享 (1)方法區(qū) (2)堆 二.內(nèi)存如何分配 1.指針碰撞法 2.空閑列表法 3.TLAB 三.對象在內(nèi)存中的組成 1.對象頭 (1)markword (2)指向類型的指針 (3)如果是數(shù)組-》數(shù)組長度 2.實(shí)例數(shù)據(jù) 3.對齊填充 四.如何訪

    2024年01月23日
    瀏覽(21)
  • 【數(shù)據(jù)結(jié)構(gòu)面試常見問題】

    【數(shù)據(jù)結(jié)構(gòu)面試常見問題】

    數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門基礎(chǔ)學(xué)科,它在面試中占有很大的比重,本科階段,我們也學(xué)過數(shù)據(jù)結(jié)構(gòu)與算法,內(nèi)容比較多,也比較難,尤其是圖的應(yīng)用以及各類查找和排序算法,這些也都是核心內(nèi)容。數(shù)據(jù)結(jié)構(gòu)在實(shí)際的應(yīng)用中也比較多,因此,整理一些常見的筆試、面試的數(shù)

    2024年03月22日
    瀏覽(15)
  • 單片機(jī)面試常見問題

    1、中斷的概念?簡述中斷的過程 (1)中斷:指CPU在正常執(zhí)行程序的過程中,由于內(nèi)部/外部事件的觸發(fā)或由程序的預(yù)先安排,引起CPU暫時(shí)中斷當(dāng)前正在運(yùn)行的程序,轉(zhuǎn)而執(zhí)行為內(nèi)部/外部事件或程序預(yù)先安排的事件的服務(wù)子程序,待中斷服務(wù)子程序執(zhí)行完畢后,CPU再返回到被

    2024年04月10日
    瀏覽(23)
  • 關(guān)于GpuMall智算云—實(shí)例相關(guān)常見問題解答

    實(shí)例到期后有提醒嗎?? 有的,對于包月包周形式的產(chǎn)品,在用戶使用期限到期前3天,系統(tǒng)會(huì)每天以短信形式給用戶發(fā)送即將到期的提醒通知,對于包日形式的產(chǎn)品,系統(tǒng)會(huì)在到期前6h以短信形式給用戶發(fā)送即將到期的提醒通知。 實(shí)例計(jì)費(fèi)模式可以變更嗎?? 可以的,控制

    2024年01月22日
    瀏覽(31)
  • docker常見面試問題詳解

    docker常見面試問題詳解

    在面試的時(shí)候,面試官常常會(huì)問一些問題: docker是什么,能做什么? docker和虛擬機(jī)的區(qū)別是什么呢? docker是用什么做隔離的? docke的網(wǎng)絡(luò)類型?docker數(shù)據(jù)之間是如何通信的? docker的數(shù)據(jù)保存問題? 常用的docker命令? docker制作鏡像相關(guān)? 下面,就讓我來詳細(xì)說明一些這些問

    2024年02月10日
    瀏覽(31)
  • kubernetes常見面試問題詳解

    kubernetes常見面試問題詳解

    在面試的時(shí)候,面試官常常會(huì)問一些問題: k8s是什么?有什么用? k8s由哪些組件組成? pod的啟動(dòng)流程? k8s里有哪些控制器? k8s的調(diào)度器里有哪些調(diào)度算法? pod和pod之間的通信過程? 外面用戶訪問pod數(shù)據(jù)流程? 你常用哪些命令? 容器的類型? 3種探針? pod的升級? HPA、V

    2024年02月10日
    瀏覽(21)
  • 大數(shù)據(jù)常見面試問題匯總

    目錄 第1章 核心技術(shù) 1.1 LinuxShell 1.1.1 Linux常用高級命令 1.1.2 Shell常用工具及寫過的腳本 1.1.3 Shell中單引號(hào)和雙引號(hào)區(qū)別 1.2 Hadoop 1.2.1 Hadoop常用端口號(hào) 1.2.2 HDFS讀流程和寫流程 1.2.3 HDFS小文件處理 1.2.4 HDFS的NameNode內(nèi)存 1.2.5 Shuffle及優(yōu)化 1.2.6 Yarn工作機(jī)制 1.2.7 Yarn調(diào)度器 1.2.8 HDFS塊大

    2024年02月14日
    瀏覽(21)
  • List常見面試問題

    List常見面試問題

    Java中的List是一種存放有序的、可以重復(fù)的數(shù)據(jù)的集合,它允許重復(fù)元素的存在。List中的元素都有對應(yīng)的一個(gè)序列號(hào)(索引)記錄著元素的位置,因此可以通過這個(gè)序列號(hào)來訪問元素。 ? Java中的List有三種實(shí)現(xiàn)方式:ArrayList、LinkedList和Vector。其中,ArrayList是基于數(shù)組實(shí)現(xiàn)的,

    2024年02月09日
    瀏覽(15)
  • Ajax-概念、Http協(xié)議、Ajax請求及其常見問題

    Ajax-概念、Http協(xié)議、Ajax請求及其常見問題

    其他AJAX知識(shí) AJAX同源策略及跨域問題解決方案——點(diǎn)擊此處 AJAX請求的不同發(fā)送方式——點(diǎn)擊此處 AJAX 全稱為Asynchronous Javascript And XML,就是 異步的JS和XML 。通過AJAX 可以在瀏覽器中向服務(wù)器發(fā)送異步請求,最大的優(yōu)勢: 無刷新獲取數(shù)據(jù) 。AJAX 不是新的編程語言,而是一種將現(xiàn)

    2024年02月13日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包