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

正文內(nèi)容

操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)書-展示頁

2024-08-20 06:38本頁面
  

【正文】 ) { cflag=0。 plink=proot。 prootsub=NULL。 prootnodeprio=0。 prootnodepid=0。 proot = new pnode。 short cflag,pflag。}//don39。 p = pnext。 p1 = p1brother。p1。 p1 = psub。p。 p=plink。return 0。p=pnext)。}// add to process linkfor(p=plink。p=pbrother)。else{ for(p=ppsub。p1brother=NULL。p1sub=NULL。p1nodeppid = para[1]。p1node=new pcb。 return 2。 pp = p。 return 1。p。 pflag=0。//system process link head//create processint createpc(int *para){ //add your code here pnode *p,*p1,*pp。}endif源程序include pnode *proot。) s1=substr(s1,x1+1,strlen(s1)1)。 if(c==39。 else s2=s1。i++) { x1 = instr(s1,c)。 for(i=0。 c=39。 count++。,39。istrlen(s1)。 s1=s。 return NULL。 if(!s) { printf(string can39。 unsigned int i。 return 1。istrlen(s)。}//find the location of c in string sint instr(char *s,char c){ unsigned i。\039。i++) s1[i] = s[i+start]。 for(int i=0。 if(start0 || end=len || startend) return NULL。}//get a substring in string schar * substr(char *s,int start,int end){ char *s1。 errormsg[1] = (char *)malloc(20)。define geterror(eno) printf(%s\n,errormsg[eno]) void initerror(){ errormsg[0] = (char *)malloc(20)。//當(dāng)前進(jìn)程 id pnode *wlist。 //名稱 int count。}。 pnode *brother。//process nodestruct pnode{ pcb *node。//last execute time int tottime。//priority int state。//process id int ppid。四、程序清單 文件ifndef basic_hincludeincludeincludedefine basic_hchar *errormsg[256]。在進(jìn)程創(chuàng)建過程中,需要對(duì)每一個(gè)新增加的進(jìn)程加入到進(jìn)程樹中,有了清晰的父子關(guān)系,可以使資源繼承或進(jìn)程刪除等操作變得很方便。 (3) 初始化進(jìn)程控制塊 a) 初始化標(biāo)識(shí)信息; b) 初始化處理機(jī)狀態(tài)信息; c) 初始化處理機(jī)控制信息。在本實(shí)驗(yàn)中,每次動(dòng)態(tài)創(chuàng)建 PCB。2) 進(jìn)程創(chuàng)建流程 (1) 申請(qǐng)空白 PCB 為新進(jìn)程申請(qǐng)獲得唯一的數(shù)字標(biāo)識(shí)符,并從 PCB 集合中索取一個(gè)空白 PCB。(3) 進(jìn)程調(diào)度信息 a) 進(jìn)程狀態(tài); b) 進(jìn)程優(yōu)先級(jí)(用于描述優(yōu)先使用 cpu 級(jí)別的一個(gè)整數(shù),高優(yōu)先級(jí)的進(jìn)程先得到cpu,通常情況下,優(yōu)先值越小優(yōu)先級(jí)越高); c) 其它信息(等待時(shí)間、總執(zhí)行時(shí)間等); d) 事件(等待原因)。PCB 存放中斷(阻塞,掛起)時(shí)的各寄存器值,當(dāng)該進(jìn)程重新執(zhí)行時(shí),可以從斷點(diǎn)處恢復(fù)。通常包括進(jìn)程號(hào) pid,父進(jìn)程號(hào) ppid 和用戶號(hào) uid。三、實(shí)驗(yàn)原理1)進(jìn)程控制塊為了描述和控制進(jìn)程的運(yùn)行,系統(tǒng)為每個(gè)進(jìn)程定義了一個(gè)進(jìn)程控制塊(PCB),它是進(jìn)程實(shí)體的一部分,是操作系統(tǒng)管理進(jìn)程最重要的數(shù)據(jù)結(jié)構(gòu)。代碼簡(jiǎn)化了進(jìn)程創(chuàng)建的多個(gè)步驟和內(nèi)容。二、實(shí)驗(yàn)內(nèi)容本實(shí)驗(yàn)針對(duì)操作系統(tǒng)中進(jìn)程創(chuàng)建相關(guān)理論進(jìn)行實(shí)驗(yàn)。學(xué)生應(yīng)具有高級(jí)語言編程能力、具有數(shù)據(jù)結(jié)構(gòu)等基礎(chǔ)知識(shí)。操作系統(tǒng)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)必修的專業(yè)基礎(chǔ)課程,操作系統(tǒng)實(shí)驗(yàn)的作用是:理解操作系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)思路,掌握典型算法。操作系統(tǒng)實(shí)驗(yàn)是操作系統(tǒng)課程的重要組成部分,屬于學(xué)科基礎(chǔ)實(shí)驗(yàn)范疇。操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)的核心,《操作系統(tǒng)》課程是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的重要必修課?!?操作系統(tǒng)原理》實(shí)驗(yàn)指導(dǎo)書羊四清 編 寫適用專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 網(wǎng)絡(luò)工程 湖南人文科技學(xué)院計(jì)算機(jī)科學(xué)技術(shù)系 2008年 8 月前 言操作系統(tǒng)是計(jì)算機(jī)的核心和靈魂。操作系統(tǒng)軟件的設(shè)計(jì)對(duì)整個(gè)計(jì)算機(jī)的功能和性能起著至關(guān)重要的作用,所以此門課也是必不可少的,是面向計(jì)算機(jī)科學(xué)與技術(shù)、網(wǎng)絡(luò)工程、軟件工程等大多數(shù)計(jì)算機(jī)專業(yè)本科生開設(shè)的一門計(jì)算機(jī)專業(yè)課程。本課程的目的是使學(xué)生掌握現(xiàn)代計(jì)算機(jī)操作系統(tǒng)的基本原理、基本設(shè)計(jì)方法及實(shí)現(xiàn)技術(shù),具有分析現(xiàn)行操作系統(tǒng)和設(shè)計(jì)、開發(fā)實(shí)際操作系統(tǒng)的基本能力。作為與相關(guān)教學(xué)內(nèi)容配合的實(shí)踐性教學(xué)環(huán)節(jié),應(yīng)在操作系統(tǒng)理論課教學(xué)過程中開設(shè)?;疽笫牵豪斫膺M(jìn)程的概念,理解死鎖,掌握銀行家算法;掌握請(qǐng)求頁式存儲(chǔ)管理的實(shí)現(xiàn)原理及頁面置換算法。說明:. 目錄實(shí)驗(yàn)一 進(jìn)程創(chuàng)建模擬 1實(shí)驗(yàn)二 進(jìn)程撤銷模擬 9實(shí)驗(yàn)三 P、V 原語的模擬實(shí)現(xiàn) 10實(shí)驗(yàn)四 帶優(yōu)先級(jí)的時(shí)間片輪換的進(jìn)程調(diào)度算法的實(shí)現(xiàn) 16實(shí)驗(yàn)五 銀行家算法模擬 26實(shí)驗(yàn)六 連續(xù)動(dòng)態(tài)內(nèi)存管理模擬實(shí)現(xiàn) 29實(shí)驗(yàn)七 請(qǐng)求頁式存儲(chǔ)管理中常用頁面置換算法模擬 31實(shí)驗(yàn)八 SCAN 磁盤調(diào)度模擬實(shí)現(xiàn) 36實(shí)驗(yàn)九 UNIX基本操作 373實(shí)驗(yàn)一 進(jìn)程創(chuàng)建模擬實(shí)驗(yàn)學(xué)時(shí):2實(shí)驗(yàn)類型:驗(yàn)證實(shí)驗(yàn)要求:必修一、實(shí)驗(yàn)?zāi)康?) 理解進(jìn)程創(chuàng)建相關(guān)理論;2) 掌握進(jìn)程創(chuàng)建方法;3) 掌握進(jìn)程相關(guān)數(shù)據(jù)結(jié)構(gòu)。要求實(shí)驗(yàn)者輸入實(shí)驗(yàn)指導(dǎo)書提供的代碼并進(jìn)行測(cè)試。進(jìn)程的樹形結(jié)構(gòu)采用廣義二叉樹的方式進(jìn)行存儲(chǔ)。其主要包含四類信息:(1) 進(jìn)程標(biāo)識(shí)符它唯一地標(biāo)識(shí)一個(gè)進(jìn)程。(2) 處理機(jī)狀態(tài)處理器的狀態(tài)通常由處理機(jī)的各種寄存器中的內(nèi)容組成。主要包括: a) 通用寄存器; b) 指令計(jì)數(shù)器; c) 程序狀態(tài)字 PSW; d) 用戶棧指針。(4) 進(jìn)程控制信息 a) 程序和數(shù)據(jù)的地址(程序在內(nèi)存和外存中的首址); b) 進(jìn)程同步和通信機(jī)制; c) 資源列表(進(jìn)程除 CPU 以外的所有資源); d) 鏈接指針(進(jìn)程隊(duì)列中指向下一個(gè)進(jìn)程的 PCB 首址)。如果無空白PCB,可以創(chuàng)建一個(gè)新的 PCB。 (2) 為新進(jìn)程分配資源 為新進(jìn)程分配內(nèi)存空間和??臻g。 (4) 將新進(jìn)程插入就緒隊(duì)列P1P2P3P4P5P6P7P8P9P10P11P12 3) 進(jìn)程樹 圖 11 進(jìn)程樹 進(jìn)程樹用于描述進(jìn)程家族關(guān)系,如圖 11 中可以看出,進(jìn)程 P1 創(chuàng)建了進(jìn)程 PPPP5,而 P2 又創(chuàng)建了 PPP8 …… 。4) 進(jìn)程總鏈它是一個(gè) PCB 鏈表,每一個(gè)新創(chuàng)建的進(jìn)程必須把其 PCB 放入總鏈中,該總鏈可以對(duì)破壞的進(jìn)程樹進(jìn)行修復(fù),也方便 PCB 查找。//process control blockstruct pcb{ int pid。//parent process id int prio。//state int lasttime。 //totle execute time}。 pnode *sub。 pnode *next。//信號(hào)量struct semphore{ char name[5]。//計(jì)數(shù)值 int curpid。 //等待鏈表}。 errormsg[0]=error mand!。 errormsg[1]=error parameter!。 int len = strlen(s)。 s1=(char *)malloc(endstart+2)。i=endstart。 s1[i]=39。 return s1。 for(i=0。i++) if(s[i]==c) return i。}//change the string to array dataint * strtoarray(char *s){ int *a,count,x1。 char c, *s1,*s2。t be null!\n)。 } count=0。 for(i=0。i++) if(s1[i]==39。) count++。 a = (int *)malloc(count)。,39。icount。 if(x1=0) s2=substr(s1,0,x11)。 a[i]=atoi(s2)。,39。 } return a。//system process tree rootpnode *plink。 int pflag。 for(p=plink。p=pnext) { if(pnodepid == para[0]) //check if this pid is already exist { printf(pid %d is already exist!\n,para[0])。 } if(pnodepid == para[1]) //find parent pcb { pflag=1。 } } if(!pflag) { printf(parent id %d is not exist!\n,para[1])。 }//init new pcbp1 = new pnode。p1nodepid = para[0]。p1nodeprio = para[2]。p1next=NULL。//add to process treeif(!ppsub) ppsub=p1。pbrother。 pbrother=p1。pnext。pnext=p1。}//show process detailvoid showdetail(){ //add your code here pnode *p,*p1。 for(。) //print all pcb info { printf(%d(prio %d):,pnodepid,pnodeprio)。 for(。) //print sub pcb { printf(%d(prio %d),p1nodepid,p1nodeprio)。 } printf(\n)。 } printf(\n)。t changevoid main(){ initerror()。 char cmdstr[32]。 prootnode=new pcb。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1