操作系統(tǒng)概論_第1頁
操作系統(tǒng)概論_第2頁
操作系統(tǒng)概論_第3頁
操作系統(tǒng)概論_第4頁
操作系統(tǒng)概論_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、操作系統(tǒng)概論第1章 Shell命令操作實(shí)踐作業(yè) 使用Shell命令上機(jī)完成以下操作: (1)在當(dāng)前登錄用戶的主目錄下創(chuàng)建子目錄mysub,進(jìn)入mysub目錄 mkdir mysub,cd mysub(2) 顯示當(dāng)前目錄路徑。 Pwd mysub(3) 顯示用戶名和用戶主目錄 cd pwd(4) 將用戶主目錄添加到可執(zhí)行文件搜索路徑 export PATH=$PATH:pwd(5)顯示添加后的可執(zhí)行文件搜索路徑 echo $PATH(6)列出主目錄下所有以”.ba”或“.pr”打頭的文件名及其屬性并將其存入my1文件 ls -l .ba* .pr* > my1(7)列出進(jìn)程狀態(tài)信

2、息中含'tty'的進(jìn)程,并將其存入my2文件中 ps aux |grep tty|grep -v grep > my2(8)將my1和my2串聯(lián)成一個(gè)新文件my3 cat my1 my2 > my3(9)將當(dāng)前目錄下的所有文件壓縮歸檔到myf.tar.gz文件中 tar zcf myf.tar.gz (10)將my3移動(dòng)到上級(jí)目錄中 mv my3 ./(11)刪除文件my1和my2 rm my1 my2(12)啟動(dòng)vi文本編輯程序 $vim(13)在vi中輸入(3) (11)步的操作命令,并將其存入文件mysh(14)將vi放入后臺(tái)運(yùn)行 (15)將文件mysh訪問權(quán)

3、限改為文件主可執(zhí)行 Chmod 744(16)將文件mysh復(fù)制到上級(jí)目錄中 Cp mysh , (17)令vi返回前臺(tái),從中追加睡眠1分鐘和返回前臺(tái)的命令,從vi保存退出 :q(18)以后臺(tái)運(yùn)行方式啟動(dòng)mysh Vi mysh(19)找到執(zhí)行睡眠命令的的進(jìn)程號(hào) (20)用發(fā)送信號(hào)命令向睡眠命令進(jìn)程號(hào)發(fā)送終止信號(hào),讓mysh停止執(zhí)行。 第2章 與處理器管理有關(guān)的系統(tǒng)功能調(diào)用實(shí)踐作業(yè)編寫一個(gè)能建立兩個(gè)子進(jìn)程的程序(父進(jìn)程),讓這三個(gè)進(jìn)程并發(fā)執(zhí)行完成以下二元函數(shù)的計(jì)算: 其中由父進(jìn)程完成:f(x,y) = f(x) + f(y)  由子進(jìn)程1 完成階乘計(jì)算: f(x) = f(

4、x-1) * x (x >1) f(x)=1 (x=1)  由子進(jìn)程2完成非波納奇序列: f(y) = f(y-1) + f(y-2)(y> 2) f(y)=1(y=1,2)#include<stdio.h>double f1(int x)if(x=1)return 1;elsereturn f1(x-1)*x;int f2(int y)if(y=1|y=2)return 1;elsereturn f2(y-1)+f2(y-2);double f(int x,int y)return f1(x)+f2(y);main()int x,y;printf("

5、;please input two words:n");scanf("%d%d",&x,&y);printf("%lfn",f(x,y);第3章 與存儲(chǔ)管理有關(guān)的操作系統(tǒng)算法實(shí)踐作業(yè)強(qiáng)化實(shí)踐能力培養(yǎng)課程內(nèi)容”中“內(nèi)存頁面置換算法實(shí)踐能力培養(yǎng)考核選例”程序,編寫一個(gè)能演示LRU內(nèi)存頁面置換算法的程序,它可根據(jù)給定的一組頁面引用序列號(hào)和實(shí)存頁數(shù),顯示LRU置換頁的過程,能統(tǒng)計(jì)和報(bào)告LRU置換算情況下依次淘汰的頁號(hào)、缺頁次數(shù)(頁錯(cuò)誤數(shù))和缺頁率。#include<stdio.h>void lru(int a,int m,i

6、nt n)int b3,i,j,k=0,t,x;for(i=0;i<3;i+)bi=ai;printf("%d ",bi);if(n<m)for(j=n;j<m;j+)t=1;x=0;for(i=0;i<n-1;i+)if(aj=bi) t=0;x=i;printf("n");if(t) printf("淘汰%dn ",b0);k+;for(i=x;i<n-1;i+)bi=bi+1;bn-1=aj;for(int c=0;c<3;c+)printf("%d ",bc);/if(t

7、) k+;/printf("%d ",b0);printf("缺頁的次數(shù)%dn",k);printf("缺頁率%f",(float)k/m);main()int a15;printf("please input ye ma:n");for(int i=0;i<15;i+)scanf("%d",&ai);lru(a,15,3);第4章 與文件管理有關(guān)的系統(tǒng)功能調(diào)用實(shí)踐作業(yè)“強(qiáng)化實(shí)踐能力培養(yǎng)課程內(nèi)容”中“文件操作實(shí)踐能力培養(yǎng)考核選例”程序,請構(gòu)造一個(gè)能管理文本文件的學(xué)生成績表的簡單數(shù)據(jù)

8、庫管理系統(tǒng)。設(shè)文本文件的學(xué)生成績表中每條學(xué)生成績記錄有3個(gè)字段構(gòu)成:學(xué)號(hào)20個(gè)字節(jié),姓名20個(gè)字節(jié),成績10個(gè)字節(jié),字段間用空格分割對(duì)齊。簡單數(shù)據(jù)庫管理系統(tǒng)具有基本的追加一條記錄,(僅允許文件主)按學(xué)號(hào)讀出一條記錄,按學(xué)號(hào)升序列出所有記錄.(提示:可建立一個(gè)學(xué)生成績表文件和一個(gè)以學(xué)號(hào)為主鍵的索引文件。)Create TABLE grade(Sno char(10) NOT NULL,Cno char(2) NOT NULL,Grade smallint check(Grade is NULL)or(Grade between 0 AND 100),primary key (Sno,Cno),C

9、onstraint c_f foreign key(Cno)references Course(Cno),Constraint s_f foreign key(Sno)references Student(Sno);插入自己的信息INSERT INTO Student VALUES('1108900113','李晴晴 ',21,'女','CS');插入:INSERT INTO SC VALUES('98001','1',87);INSERT INTO 

10、;SC VALUES('98001','2',67);INSERT INTO SC VALUES('98001','3',90);INSERT INTO SC VALUES('98002','2',95);INSERT INTO SC VALUES('98002','3',88);修改:update sc set grade=0where sno in (select

11、sno from studentWhere sname= '王林')And cno='2'第5章 與設(shè)備管理有關(guān)的操作系統(tǒng)算法實(shí)踐作業(yè)強(qiáng)化實(shí)踐能力培養(yǎng)課程內(nèi)容”中“磁盤移臂調(diào)度算法實(shí)踐能力培養(yǎng)考核選例”程序編寫一個(gè)能演示“最短尋找時(shí)間優(yōu)先算法Sstf”的程序。該程序能分析出“最短尋找時(shí)間優(yōu)先算法”在響應(yīng)任意給定的一組磁盤請求序列時(shí)磁頭移動(dòng)的過程,即能統(tǒng)計(jì)和報(bào)告出“最短尋找時(shí)間優(yōu)先算法”下磁頭響應(yīng)請求的順總量和掉頭的次數(shù)。#include<stdio.h>#define stacksize 10#define max 20typedef struct

12、char vexsmax;int bianmaxmax;int v,b;Tu;/*typedef struct int *base; int *top; int size;Stack;void InitStack(Stack &L) /堆棧操作 L.base=(int*)malloc(sizeof(Snode)*stacksize); if(!L.base) exit(0); L.top=L.base; L.size=stacksize;void input(Stack &L,int h) *L.top+=h; Snode output(Stack &L,int &am

13、p;e) e=*-L.top; return e; int Stackmang(Stack L) if(L.top-L.base=L.size) return 0; else return 1;int StackEmpty(Stack L) if(L.base=L.top) return 0; else return 1;*/void creattu(Tu &T) int i,j,k;int data;printf("輸入城市個(gè)數(shù)和道路條數(shù)(輸入格式:v,b):");scanf("%d,%d",&(T.v),&(T.b);/ffl

14、ush(stdin); printf("輸入所有城市名:");for(i=0;i<T.v;i+)scanf("n%c",&T.vexsi); /%c前加n可起緩沖作用fflush(stdin);for(i=0;i<T.v;i+)for(j=0;j<T.v;j+)T.bianij=0;printf("輸入相鄰倆城市的序號(hào)和倆城市之間的距離(輸入格式為:i,j,data):n");for(k=0;k<T.b;k+) scanf("%d,%d,%d",&i,&j,&

15、data); T.bianij=data; T.bianji=data; int DFStrave(Tu T,char ch) int i; /*int visited10; for(i=0;i<T->v;i+) visitedi=0; for(i=0;i<T->v;i+) if(visitedi!=0) DFS(T,i); */ for(i=0;i<T.v;i+) if(T.vexsi=ch) return i; void Floydpath(Tu T,int Dmax,int pathmax) /floyd算法int i,j,k;for(i=0;i<T.

16、v;i+)for(j=0;j<T.v;j+)Dij=T.bianij; if(j=i|Dij=0) pathij=-1; else if(Dij>0) pathij=i;for(k=0;k<T.v;k+)for(i=0;i<T.v;i+) for(j=0;j<T.v;j+)if( Dij>Dik+Dkj)Dij=Dik+Dkj;pathij=pathkj; void visit(Tu T,int D,int path)char ch;int j; printf("n*Dijkstra算法*n");printf("輸入一個(gè)城市:&

17、quot;);fflush(stdin);scanf("%c",&ch);j=DFStrave(T,ch);printf("到第一個(gè)城市的最短路程為:%dn",Dj); while(pathj!=-1) printf(" %d-%d n",j,pathj); j=pathj;void Dijkstrapath(Tu T) /dijkstra算法 int Dmax; int pathmax; int v0=0,Smax,min=200,k,j,i; for(i=0;i<T.v;i+) Si=0; Di=T.bianv0i;

18、 if(Di=0) pathi=-1; else pathi=0; Sv0=1;Dv0=0; for(i=1;i<T.v;i+) for(j=0;j<T.v;j+) if(!Sj&&Dj<min)min=Dj;k=j; Sk=1; for(j=0;j<T.v;j+) if(!Sj&&Dk+T.biankj<Dj) Dj=Dk+T.biankj; pathj=k; visit(T,D,path);void main() Tu T; int Dmaxmax;int pathmaxmax; char ch1,ch2; int i,j; c

19、reattu(T); fflush(stdin); printf("請選擇兩個(gè)城市(輸入格式為:A,B)"); scanf("%c,%c",&ch1,&ch2); i=DFStrave(T,ch1); j=DFStrave(T,ch2); Floydpath(T,D,path); printf("*floyd算法*n"); printf("輸出最短路程:%dn",Dij);printf("輸出最短路徑:n");printf("-%d-",j);while(pathij!=-1)printf("-%d-",pathij); j=pathij;printf("n"); Dijkstrapath(T);第6章 與

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論