程序的建立和管理

2022-09-15 18:12:03 字數 981 閱讀 9410

實驗4 實驗報告

1. 程式1要求:在程式中建立乙個子程序,然後父、子程序各自獨立執行,父程序不斷地在標準輸出裝置上輸出字母p和回車(輸出30次或以上),字程序不斷地在標準裝置上輸出c和回車(輸出30次或以上)。

程式**如以下截圖:

源程式:4_ 在根目錄[10131@localhost]中

編譯、輸出結果:

2. 程式執行結果分析:

從截圖可知程式執行結果是,子程序連續輸出30個c之後,父程序跟著連續輸出30個p;

先從**上分析:

int main()

}elsep>0表示父程序返回

}return 0;

}從linux系統上分析:

子程序建立時作業系統做以下工作:

檢查同時執行的程序數目,若超過系統設定值則建立失敗,返回-1

為子程序分配程序控制塊task_struct結構,並賦予唯一程序識別符號pid;

子程序繼承父程序開啟的所有檔案及資源,對父程序的當前目錄和所有已開啟系統檔案表項中的引用記數加1;

為子程序建立程序映像:

建立子程序映像靜態部分:複製父程序映像靜態部分

建立子程序映像動態部分:初始化task_struct結構

結束建立,置子程序為記憶體就緒狀態,插入就緒佇列,作為乙個獨立的程序被系統排程。

若呼叫程序(父程序)返回,則返回建立的子程序識別符號pid值(此時返回值》0);

若子程序被排程執行,則將其u區計時字段初始化然後返回(此時返回值=0)。

由於fork()呼叫執行後,從父程序和子程序返回的值不同,因而使用者能夠以此為據在程式中使用分支結構將父子程序需要執行的不同程式分開。

3. 程式要求:如何影響上述程式的輸出結果?

寫出你的的方法,論證其正確性,並加以實現。實現結果是否與預期一致?提示:

我的方法:

將父程序掛起,等待子程序結束

修改**如下:讓子程序休眠3秒,父程序掛起,只有等待子程序執行結束後,才能繼續執行。

實驗六表的建立和管理

一 實驗目的和要求 1 掌握利用企業管理器和t sql語句建立表,修改表結構以及刪除表2 能夠向表中插入資料 更新資料以及刪除資料。3 掌握建立 刪除和修改約束的方法 二 實驗內容和步驟 1 建立名為student 學生資訊 的表,表中的各列要求如下 2 建立名為course 課程資訊 的表,表中的...

實驗三表的建立和管理

實驗目的 1 掌握在資料中建立表的方法。2 掌握修改表定義的方法。3 掌握建立和管理各種約束的方法。4 掌握從資料庫中刪除表的方法。實驗學時 2學時實驗器材 多 計算機 windowsxp professional版 sql server 2000個人版。實驗原理 1 資料表的建立與刪除 在查詢分析...

合同管理體系的建立和執行

工程建設專案合同管理體系的建立和執行 一 全過程 全方位合同管理理念的建立 1 專案管理過程中,貫徹合同管理理念 合同管理是合同內容的談判 評審 合同訂立 履行 管理 糾偏 終止等合同實施過程中全部環節的系統管理過程,是為實現專案目標而進行的管理過程。合同是建設專案管理的核心,專案管理是實現合同管理...