freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

linux基礎(chǔ)教程第2章-wenkub.com

2024-10-02 16:31 本頁面
   

【正文】 習(xí)題 21 什么是作業(yè)?簡述 Linux系統(tǒng)作業(yè)的概念。和進(jìn)程聯(lián)系密切的概念是程序、作業(yè)和線程,正確地區(qū)分和理解這些概念,有助于正確地理解和認(rèn)識計算機操作系統(tǒng)本身。 Linux支持 POSIX標(biāo)準(zhǔn)定義的線程( pthreads),提供用戶級線程支持。而在 Linux中,將線程定義為“執(zhí)行上下文”,它實際只是進(jìn)程的另外一個執(zhí)行上下文而已,和進(jìn)程采用同樣的表示、管理、調(diào)度方式。 Linux系統(tǒng)級線程和進(jìn)程的區(qū)別主要在于資源管理方面,線程可以共享父進(jìn)程的部分資源(執(zhí)行上下文)。而進(jìn)程間通訊一般必須要通過系統(tǒng)提供的進(jìn)程間通訊機制。 進(jìn)程的調(diào)度主要由操作系統(tǒng)完成,而線程根據(jù)其類型的不同,可以由系統(tǒng)調(diào)度(內(nèi)核級線程),也可以由用戶進(jìn)行調(diào)度(用戶級線程)。線程的基本狀態(tài)是執(zhí)行、就緒和等待。 系統(tǒng)級線程的調(diào)度由內(nèi)核完成,不需要更多用戶干預(yù),但要占用更多的系統(tǒng)開銷,效率相對低一些。用戶級線程指不需要內(nèi)核支持,在用戶程序中實現(xiàn)的線程都需要用戶程序自己完成。 多個線程共享一個進(jìn)程內(nèi)部的各種資源,分別按照不同的路徑執(zhí)行,同時線程也是一個基本調(diào)度單位, 可以在一個進(jìn)程內(nèi)部進(jìn)行線程切換,現(xiàn)場保護(hù)工作量小。因此,系統(tǒng)的進(jìn)程管理過程要耗費相當(dāng)多的系統(tǒng)資源和 CPU時間,尤其是對于需要頻繁進(jìn)程切換的任務(wù)。避免指系統(tǒng)采取某種算法,對資源使用情況進(jìn)行預(yù)測,使資源分配盡可能合理,避免死鎖的發(fā)生。 產(chǎn)生死鎖的必要條件有四個:并發(fā)進(jìn)程之間是互斥關(guān)系,每個進(jìn)程必須獨占某個系統(tǒng)資源;進(jìn)程占有的資源在未結(jié)束使用之前,不能被強行剝奪,只能由該進(jìn)程自己釋放;進(jìn)程需要的資源采用部分分配的方式,在等待新資源的同時,繼續(xù)占有已分配的資源;各占有資源的進(jìn)程形成環(huán)路,每一個進(jìn)程已獲得的資源同時被下一個進(jìn)程請求。 死鎖 死鎖,是指所有并發(fā)進(jìn)程都擁有部分資源,同時都在等待其他進(jìn)程擁有的資源,而且在得到對方資源之前不會釋放自己占有的資源,所有進(jìn)程都進(jìn)入永久等待狀態(tài)而無法運行的情況。 共享內(nèi)存是這三種方式中通信效率最高的,它在進(jìn)程的虛擬空間中進(jìn)行,而且不需要數(shù)據(jù)的移動也可以實現(xiàn)大規(guī)模的數(shù)據(jù)傳遞。管道方式可以用來進(jìn)行大規(guī)模的數(shù)據(jù)傳遞。 Linux管道通信包括無名管道和有名管道兩種,通過文件系統(tǒng)來實現(xiàn)。普通進(jìn)程只能向具有相同 uid和 gid的進(jìn)程或者在同一進(jìn)程組中的進(jìn)程發(fā)送信號。 除了兩個信號外,進(jìn)程可以忽略這些信號中的絕大部分,這兩個信號是引起進(jìn)程終止執(zhí)行的SIGSTOP信號和引起進(jìn)程退出的 SIGKILL信號。 2. Linux系統(tǒng)的進(jìn)程通信 Linux系統(tǒng)提供了多種通信機制,利用這些機制,可以方便地進(jìn)行進(jìn)程之間的相互協(xié)調(diào),實現(xiàn)進(jìn)程的互斥和同步。通信雙方通過緩沖區(qū)或郵箱存放被傳送的數(shù)據(jù), 不需要建立雙方直接的連接關(guān)系。 (1) 主從式 主進(jìn)程一方在整個通信過程中處于絕對的控制地位,它可以直接控制從進(jìn)程的動作,自由地使用從進(jìn)程的資源和數(shù)據(jù)。具體的同步、互斥實現(xiàn)方案有很多種,分別基于不同的通信方式。存在直接制約關(guān)系,相互發(fā)送消息進(jìn)行互相合作、互相等待,各自按照一定的速度向前推進(jìn)的過程稱為同步。對于有著臨界區(qū)問題的并行進(jìn)程之間必須互斥,以保證不會同時進(jìn)入臨界區(qū)。這種不允許多個并發(fā)進(jìn)程交叉執(zhí)行的資源稱為臨界資源,臨界的程序段資源稱為臨界部分或臨界區(qū)。 進(jìn)程約束 現(xiàn)代操作系統(tǒng)中,程序并發(fā)執(zhí)行,多個進(jìn)程各自獨立地運行,同時競爭和共享系統(tǒng)中有限的資源,這種競爭與合作構(gòu)成了系統(tǒng)進(jìn)程之間的約束關(guān)系。阻塞原語主要完成保護(hù) CPU現(xiàn)場的工作, 即首先中斷處理機保存該進(jìn)程的 CPU現(xiàn)場,然后把被阻塞的進(jìn)程置為等待狀態(tài),插入到相應(yīng)的等待隊列,最后轉(zhuǎn)入進(jìn)程調(diào)度程序,從就緒隊列中選擇一個進(jìn)程投入運行。進(jìn)程創(chuàng)建原語的主要任務(wù)是形成進(jìn)程的 PCB, 因此,調(diào)用者必須提供有關(guān)的參數(shù),例如進(jìn)程名、進(jìn)程優(yōu)先級、進(jìn)程正文段起始地址、資源清單等。 進(jìn)程狀態(tài)之間的轉(zhuǎn)換轉(zhuǎn)換通常由三種不同的方式控制:進(jìn)程控制原語、系統(tǒng)核心函數(shù)(比如調(diào)度)、和外部事件發(fā)生(比如中斷)。 一個處于執(zhí)行狀態(tài)的進(jìn)程調(diào)用退出函數(shù) exit之后,進(jìn)程就會進(jìn)入僵死狀態(tài),這種狀態(tài)下,進(jìn)程釋放了PCB之外的所有系統(tǒng)資源。處于執(zhí)行狀態(tài)的進(jìn)程,有時需要等待某個事件或某種資源的發(fā)生,這時,繼續(xù)占有 CPU也無法開展工作,就轉(zhuǎn)入等待狀態(tài), CPU由下一個被調(diào)度的進(jìn)程占有。這樣,進(jìn)程的整個生命周期中,大致的轉(zhuǎn)換路徑總是沿著三個閉合回路進(jìn)行。見圖 。 (6) 獨占狀態(tài) 它應(yīng)該是等待狀態(tài)的一種,處于獨占狀態(tài)的進(jìn)程位于等待隊列中,當(dāng)?shù)却氖录l(fā)生時,只有處于這種狀態(tài)的進(jìn)程被喚醒,其他處于可中斷和不可中斷等待狀態(tài)的進(jìn)程則繼續(xù)等待。 (4) 暫停狀態(tài) 處于暫停狀態(tài)的進(jìn)程 , 一般都是由運行狀態(tài)轉(zhuǎn)換而來 , 等待某種特殊處理 。 表 Linux系統(tǒng)( — )進(jìn)程狀態(tài)表 進(jìn)程狀態(tài) 值 說明 TASKRUNNING 0 運行態(tài) TASKINTERRUPTIBLE 1 等待態(tài),可中斷 TASKUNINTERRUPTIBLE 2 等待態(tài),不可中斷 TASKZOMBIE 4 僵死態(tài) TASKSTOPPED 8 暫停態(tài) TASKSWAPPING 16 交換態(tài)( ) TASKEXCLUSIVE 32 獨占態(tài) (1) 運行狀態(tài)( running) Linux系統(tǒng)中的運行狀態(tài)實際包含了上述基本狀態(tài)中的執(zhí)行和就緒兩種狀態(tài),進(jìn)程到底是正在運行還是處于就緒狀態(tài)準(zhǔn)備運行,要靠當(dāng)前是否占有 CPU資源來區(qū)分。 1. 進(jìn)程的基本狀態(tài) 在分時系統(tǒng)中,一個進(jìn)程擁有了所需要的全部資源,就可以開始執(zhí)行,當(dāng)分配的時間片結(jié)束,讓出 CPU資源,這種只要能夠占有 CPU就能進(jìn)入執(zhí)行的狀態(tài)稱為就緒狀態(tài)。 taskstruct是 Linux系統(tǒng)的進(jìn)程控制塊( PCB),通過對 PCB的操作,系統(tǒng)為進(jìn)程分配資源并進(jìn)行調(diào)度,最終完成進(jìn)程的創(chuàng)建和撤銷。通過這些資料,進(jìn)程就可以得到運行需要的相關(guān)程序段以及必要的數(shù)據(jù)。 ③ 記時信息 包括時間和定時器,給出進(jìn)程占有和利用 CPU的情況,是調(diào)度的依據(jù),也是進(jìn)行統(tǒng)計、分析以及記費的依據(jù)。 ③ 連接信息( Links) Linux系統(tǒng)中的進(jìn)程之間形成樹狀的家族關(guān)系,連接信息記錄某個進(jìn)程的父進(jìn)程、兄弟進(jìn)程(具有相同父進(jìn)程的進(jìn)程)以及子進(jìn)程的信息,描述一個進(jìn)程在整個家族系統(tǒng)中的具體位置。這些描述信息包括:進(jìn)程號、用戶和組標(biāo)識以及描述進(jìn)程家族關(guān)系的連接信息。一般來講, PCB記錄著進(jìn)程的所有資料,是全部或部分常駐內(nèi)存的,PCB記錄著程序段和數(shù)據(jù)集的地址指針,通
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1