A. 用c語言編寫操作系統
C語言只是學習編程語言的基礎 現在已經基本不怎麼用了 現在的應用軟體大多都是用JAVA VC++編出來的 而且也不可能是一個人完成的任務。對於操作系統,是匯編語言加DOS的混合物 更是非常巨大的工程 微軟投入一個操作系統的工程要花費幾年、幾百人、幾個億的投入。。。。如果你真的想學 就去學一下計算機原理 介面技術 還有匯編語言 再掌握點DOS 。。。學有所成之後 可以去網上找一些LINUX系統自己改一改 到時候心情會無比的爽。。。 祝你成功
B. 操作系統課程設計,C語言寫的文件管理系統
操作系統課程設計,C語言寫的文件管理系統 、。要求有沒,根據要求可以做的
C. c語言課程設計
很想說兩句,
你看知道教育一欄,
很多人都問各種各樣的參考資料是吧,
其實,
這類問題很多都是沒有人回答的,
或者根本就找不到提問者想要的答案,
因為現在各種各樣的資料簡直太多了,
你提問,
在網路知道問,
是面向全國,
其實別人查的可能還不如你自己查的,
別人很可能也就是在網路,
輸入要查的資料名字,
查不到,
或者查到一點就粘上去了,
遠遠不是你想要的那種,
所以,
覺得問這類問題,
就有些浪費分數了。
當然,
這只是我個人的一些看法,
還是希望你能在知道找到你想要的。
這是我復制別人的,我覺得很有道理.
D. 求操作系統課設c語言編寫的
下面的程序假設你的當前目錄有一個helloworld程序, 這個你會寫吧? :)
#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>
int main()
{
int pid;
int status;
pid = fork();
if (pid == 0) {
/* child process */
execve("./helloworld", NULL, NULL);
} else if (pid < 0) {
/* failed to fork, print error message */
printf("fork error, errno = %d\n", errno);
} else {
waitpid(pid,&status,0)
}
return 0;
}
E. c語言怎樣編寫操作系統
用c語言是可以編操作系統的,像unix就是用c語言編寫出來的,不過沒有對c語言深入研究的人是編不出來的
如果想編個軟體的話,建議學面向對象的編程語言,比如c#,java
這種語言比較接近自然語言,寫程序比較容易,學起來也比較簡單
F. 操作系統課程設計,用C#實現內存頁面的置換。實現演算法間比較
頁面置換演算法
一.題目要求:
通過實現頁面置換演算法的FIFO和LRU兩種演算法,理解進程運行時系統是怎樣選擇換出頁面的,對於兩種不同的演算法各自的優缺點是哪些。
要求設計主界面以靈活選擇某演算法,且以下演算法都要實現 1) 最佳置換演算法(OPT):將以後永不使用的或許是在最長(未來)時間內不再被訪問的頁面換出。
2) 先進先出演算法(FIFO):淘汰最先進入內存的頁面,即選擇在內存中駐留時間最久的頁面予以淘汰。
3) 最近最久未使用演算法(LRU):淘汰最近最久未被使用的頁面。 4) 最不經常使用演算法(LFU) 二.實驗目的:
1、用C語言編寫OPT、FIFO、LRU,LFU四種置換演算法。 2、熟悉內存分頁管理策略。 3、了解頁面置換的演算法。 4、掌握一般常用的調度演算法。 5、根據方案使演算法得以模擬實現。 6、鍛煉知識的運用能力和實踐能力。 三、設計要求
1、編寫演算法,實現頁面置換演算法FIFO、LRU;
2、針對內存地址引用串,運行頁面置換演算法進行頁面置換; 3、演算法所需的各種參數由輸入產生(手工輸入或者隨機數產生); 4、輸出內存駐留的頁面集合,頁錯誤次數以及頁錯誤率;
四.相關知識:
1.虛擬存儲器的引入:
局部性原理:程序在執行時在一較短時間內僅限於某個部分;相應的,它所訪問的存儲空間也局限於某個區域,它主要表現在以下兩個方面:時間局限性和空間局限性。
2.虛擬存儲器的定義:
虛擬存儲器是只具有請求調入功能和置換功能,能從邏輯上對內存容量進行擴充的一種存儲器系統。
3.虛擬存儲器的實現方式:
分頁請求系統,它是在分頁系統的基礎上,增加了請求調頁功能、頁面置換功能所形成的頁面形式虛擬存儲系統。
請求分段系統,它是在分段系統的基礎上,增加了請求調段及分段置換功能後,所形成的段式虛擬存儲系統。
4.頁面分配:
平均分配演算法,是將系統中所有可供分配的物理塊,平均分配給各個進程。 按比例分配演算法,根據進程的大小按比例分配物理塊。
考慮優先的分配演算法,把內存中可供分配的所有物理塊分成兩部分:一部分按比例地分配給各進程;另一部分則根據個進程的優先權,適當的增加其相應份額後,分配給各進程。
5.頁面置換演算法:
常用的頁面置換演算法有OPT、FIFO、LRU、Clock、LFU、PBA等。 五、設計說明
1、採用數組頁面的頁號
2、FIFO演算法,選擇在內存中駐留時間最久的頁面予以淘汰;
分配n個物理塊給進程,運行時先把前n個不同頁面一起裝入內存,然後再從後面逐一比較,輸出頁面及頁錯誤數和頁錯誤率。
3、LRU演算法,根據頁面調入內存後的使用情況進行決策;
同樣分配n個物理塊給進程,前n個不同頁面一起裝入內存,後面步驟與前一演算法類似。
選擇置換演算法,先輸入所有頁面號,為系統分配物理塊,依次進行置換: 六.設計思想:
OPT基本思想:
是用一維數組page[pSIZE]存儲頁面號序列,memery[mSIZE]是存儲裝入物理塊中的頁面。數組next[mSIZE]記錄物理塊中對應頁面的最後訪問時間。每當發生缺頁時,就從物理塊中找出最後訪問時間最大的頁面,調出該頁,換入所缺的頁面。
FIFO基本思想:
是用隊列存儲內存中的頁面,隊列的特點是先進先出,與該演算法是一致的,所以每當發生缺頁時,就從隊頭刪除一頁,而從隊尾加入缺頁。或者藉助輔助數組time[mSIZE]記錄物理塊中對應頁面的進入時間,每次需要置換時換出進入時間最小的頁面。
LRU基本思想:
是用一維數組page[pSIZE]存儲頁面號序列,memery[mSIZE]是存儲裝入物理塊中的頁面。數組flag[10]標記頁面的訪問時間。每當使用頁面時,刷新訪問時間。發生缺頁時,就從物理塊中頁面標記最小的一頁,調出該頁,換入所缺的頁面。 七.流程圖:
如下頁所示
六.運行結果: 1. 按任意鍵進行初始化:
2. 載入數據:
3. 進入置換演算法選擇界面:
4.運算中延遲操作:
5.三種演算法演示結果:
G. 操作系統進程創建設計(用C語言完成)
http://www.ddvip.net/program/c/index2/26.htm
Linux下C語言編程--進程的創建
H. 操作系統 用c語言編程
預知詳情請仔細研究linux內核源碼,整個linux操作系統都是C語言實現的,一定可以滿足你的要求。
I. 如何用c語言編寫簡單的操作系統
C語言當然是可以寫操作系統的,但是操作系統的編寫一般都不僅僅只是用C語言編寫的。
寫操作系統需要編程語言提供以下幾個特徵:
1、跨平台,不能是只在某個平台下編譯(VB就不行);
2、必須是編譯型語言(PHP就不行),或者有一個非常高效的解釋器;
3、必須有方便的操作硬體的功能,容易嵌入匯編(Java就不行);
4、兼容性要好,最好不同編譯器編譯的符號要基本相同,容易鏈接(C++不行,如果放棄Class的話C++基本可以);
5、編譯器本身最好是由該語言自己完成的(大部分語言的編譯器都是用C/C++寫的);
6、開發者可以很方便的擴展、改造、或者使用第三方的運行庫(大部分語言的庫都無法修改);
7、開發者眾多(小眾語言就不行);
8、該語言開發操作系統的資料要足夠完善。
所以總結下來,C語言是首選。