日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

什么是系统编程

發布時間:2023/12/10 windows 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是系统编程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

博客內容摘自Unix/Linux編程實踐教程

1. 簡單的程序模型

你可能寫過各種各樣的程序,有柯學計算方面的,金融方面的,圖像方面的,文字處理方面的等,大部分的程序都是基于以下模型

在這個模型中,程序就是可以再計算機上運行的一段代碼,程序把輸入數據做相應處理后輸出,例如用戶在鍵盤上輸入數據,然后在屏幕得到輸出,程序可能對磁盤進行操作,還可能會用到打印機
遵循上述模型。看以下代碼

/*copy from stdin to stdout*/ main() {int c;while ((c = getchar()) != EOF)putchar(c); }

這段代碼對應以下模型

在圖中鍵盤和顯示器與程序直接相連,在簡單的個人計算器中,實際情況是很類似的,鍵盤和顯示卡直接連到計算機的主板上,CPU和內存也是通過插槽直接連載主板上,它們通過主板上的印刷線路,連為一體,如果能打開機箱,所看到的大致如此。

2.系統模型

如果所使用的系統是一個多用戶系統,如經典的Linux模型,那會是一幅怎樣的情景呢

剛才的簡單模型已經不適用,此圖會更接近一些

在這個系統中有多個用戶同時運行多個程序,可能需要訪問多個設備。
雖然模型復雜了,但對程序而言,他還是從鍵盤得到數據,將結果顯示在顯示器上,也可以對磁盤進行讀寫,這些操作都沒有任何問題,它使用的還是簡單模型
接下來考慮一種更為復雜的情況,有許多鍵盤/顯示器,它們可以隨意地連接到不同的程序,隨意地操作他們,這種情況如下圖所示

實際上,在計算機內部,這種隨意的連接是不允許的,必須采用一種機制進行管理

3.操作系統的職責

計算機用操作系統來管理所有的資源,并將不同的設備和不同的程序連接起來,從鏈接的角度來講,操作系統的作用就行主板上的印刷線路一樣
有了操作系統后,上圖的混亂狀態就可以得到該百年,新的模型如圖五所示


圖五

操作系統也是程序,與普通程序一樣,也運行在內存中,同時他又是一個特殊的程序,他能把普通程序與其他程序或設備連接起來。

4.為程序提供服務
現在的問題(系統中的多個用戶和程序是如何連接起來的)和大致的解決辦法(通過一個管理程序已經很清楚了,接下來看具體的解決方法
首先要節視一些屬于,內存空間用來存放程序和數據,就想古雅典人騰出空間來放衣服一樣,所有的程序都必須在內存空間中才能運行,用來容納操作系統的內訓空間叫做系統系統空間,容納應用程序的內存空間叫做用戶空間
操作系統也被稱為內核,有了內核的概念后,再來看計算機系統的連接情況,如圖6所示

注意,在圖6中可以發現,程序要訪問設備(如鍵盤,磁盤和打印機)必須通過內核,所以只有內核才能直接管理設備
程序如果要從鍵盤得到數據,必須向內核發出請求,若在顯示器上顯示結果,也要通過內核,程序中所有對設備的操作都是通過內核進行的
圖6的線是內核提供的虛擬連接線,內核向程序提供服務一遍程序能夠訪問到設備
了解到這些內容后,再來看什么是系統編程,編寫普通程序時可以認為,程序是直接連到鍵盤,顯示器,磁盤等設備的,但在進行系統編程時,必須對系統的結構和工作方式有更深的了解,要知道內核提供那些服務(系統調用),如何使用他們,系統有哪些資源和設備,不同的資源和設備該如何操作。

總結

以上是生活随笔為你收集整理的什么是系统编程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。