杭電作業系統實驗三之實現乙個模擬的shell

2021-09-25 21:46:01 字數 621 閱讀 6081

編寫三個不同的程式cmd1.c、cmd2.c及cmd3.c,每個程式的功能自定,分別編譯成可執行檔案cmd1、cmd2、cmd3.然後再編寫乙個程式,模擬shell程式的功能:能根據使用者輸入的字串(表示相應的命令名),為相應的命令建立子程序並讓他去執行相應的程式,而父程序則等待子程序結束,然後再接收下一條命令。如果接收到的命令為exit,則父程序結束,退出模擬shell;如果接收到的命令是無效命令,則顯示「command not found」,繼續等待輸入下一條命令。

shell.c

#include#include#include#includevoid childprocess(int num,char * const ar**,char ** environ)	}}

int main(int argc,char * const ar**, char **environ)

else if (strcmp(a,"cmd2\n"==0))

else if (strcmp(a,"cmd3\n"==0))

else printf("command not found\n");

}}

cmd1.c、cmd2.c和cmd3.c內容隨意,但是要和shell.c放在同一目錄下。

杭電作業系統實驗三之實現乙個管道通訊程式

由父程序建立乙個管道,然後再建立三個子程序,並由這三個子程序利用管道與父程序之間進行通訊 子程序傳送訊息,父程序等待三個子程序全部發完訊息後再接收資訊。通訊的具體內容可根據自己的需要隨意設計,要求能試驗阻塞型讀寫過程中的各種情況,測試管道的預設大小,並且要求利用posix訊號量機制實現程序間對管道的...

去年做的乙個web仿作業系統程式。

使用 jquery,php,mysql 支援各類主流瀏覽器 應該說是前年做的,去年年初上線。後來因為自己不善推廣,網域名稱備案被登出,考慮將來發展需要為使用者提供網盤服務,開發各類應用,移動端等,靠自己完全做不來。所以就沒再繼續做了。去年仿webqq的方式,做了乙個多桌面,只是對web應用管理的程式...

乙個作業系統的實現 2

接上文 xiongjian 2010.12.22 msn cug live.cn 10 下面開始程序,首先引入幾個基本原則 1 程序表a用來儲存程序a的資訊和程序a切換時,儲存當前a執行時暫存器資訊。定義為 processproc table 1024 表示系統最多可以有1024個程序,proces...