中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

計算機與操作系統基礎小結

發布時間:2020-06-29 05:00:55 來源:網絡 閱讀:388 作者:wujunqi1996 欄目:網絡安全

  計算機基礎概念

  1946年二月美國,世界上第一臺電子計算機ENIAC誕生,似乎從這一年開始世界便逐漸變得不一樣了。隨著半個世紀的時間,計算機技術蓬勃發展,推動人類進入信息社會。

  計算機操作界面:

  ①圖形用戶界面

  ②命令行界面

  在ENIAC計算機研制的同時,馮.諾依曼與莫爾小組合作研制EDVAC計算機,采用了存儲程序方案,即把解題過程中的每一步用指令表示,并按執行順序編寫成為程序,存放在存儲器中,稱為馮.諾依曼計算機。馮.諾依曼計算機有著如下幾個特點。

  (1)計算機由運算器,控制器,存儲器,輸入設備,輸出設備五部分組成。

  (2)采用存儲程序的方式,程序和數據放在同一個存儲器中,并以二進制碼表示。

  (3)指令由操作碼和地址碼組成。

  (4)指令在存儲器中按執行順序存放,有指令計數器(PC)指名要執行的指令所在的存儲單元地址。

  (5)計算機以運算器為核心,運算器進行數字運算有算術運算和邏輯運算兩大類,由控制器協調操作運算器和其他設備之間的操作,存儲器以隨機存儲器RAM為主,輸入輸出設備與存儲器間的數據傳送都通過運算器。

  根據電子計算機所采用的物理器件的發展,一般把電子計算機的發展分成五個階段,習慣上稱之為五代。

  第一代:電子管計算機計算機時代

  第二代:晶體管計算機計算機時代

  第三代:集成電路計算機計算機時代

  第四代:大規模集成電路計算機時代

  第五代:超大規模集成電路計算機時代

  計算機的硬件是計算機實現各種功能的基礎,軟件則是實現功能的方法,由指令加上數據構成的,將頻率轉換成信息類型讓邏輯硬件能夠理解并運行。如遙控器紅外線操控功能和觸摸屏進行邏輯轉換變成二進制的機器語言形式能夠讓計算機理解。

  計算機語言有機器語言,微碼語言(匯編語言)和高級語言三大類,機器語言作為計算機最底層的語言,它的普適性最強但針對性弱,是由二進制直接實現的,在計算機剛出現那會人們便是利用機器語言來對計算機進行操作,但由于機器語言都由二進制代碼寫成,這對于程序員的壓力太大,效率更是低。基于這樣的背景下匯編語言應運而生。匯編語言利用符號代替二進制碼,因此匯編語言又叫做符號語言,使用匯編語言編寫的程序,硬件不能直接識別,要利用匯編程序將匯編語言轉化成機器語言這樣硬件才能夠識別。對于匯編語言來說這個過程我們稱之為匯編過程,利用匯編器來達成。匯編語言與芯片的耦合度很高,但在某個芯片上編寫的匯編語言基本無法移植到其它芯片上,移植性很差,所以就出現了高級語言。高級語言有很多種,C語言,JAVA,PHP,Python,perl等每種語言皆有其針對性。C語言和JAVA為系統級語言更接近于底層,PHP,Python,perl等則為應用級語言。雖然高級語言針對性強但越接近人類的自然語言,轉化成機器語言的效率就低,會產生很多中間代碼,在運行的時候所需要的額外開銷越大。

  高級語言可分為:

  ①系統級,應用級。

  ②可分為面向過程:按照嚴格的邏輯結構來編寫代碼。面向對象:相對自由,更注重數據處理的過程,而不是數據結構。

  ③可分為強語言(編譯性語言):C語言,C++,JAVA。不聲名變量就無法使用,源代碼必須經過編譯,不編譯無法使用。弱語言(解釋性語言):PHP,Python,shell,不聲明變量也可以使用,不經過編譯,經過解釋器也可以使用。

  操作系統基礎概念

  操作系統(Operating System,OS)是配置在計算機硬件上的第一層軟件,是對硬件系統,是對硬件系統的首次擴充。其主要作用是管理好這些設備,提高他們的利用率和系統吞吐量,并為用戶和應用程序提供一個簡單的接口,便于用戶使用。

  目前我們使用的計算機是數字設備即能夠進行數字信息處理和運算的設備。只能理解二進制代碼的數字設備。因此任何一個程序想要在計算機上運行,必須編碼成二進制代碼形式才能被底層硬件所接受,但底層硬件太過簡單和丑陋,所以為了方便程序員的開發,供貨商會為這些底層丑陋的硬件分配匯編接口,但這些匯編接口也很底層。為了能夠很很好的利用這些匯編接口則需要一個能完成匯編功能的程序——驅動程序。一開始,因為不同的硬件需要不同的匯編程序,為了能夠對計算機底層硬件進行使用,會為每一個底層硬件的匯編接口編寫一個對應的驅動程序進行驅動。但是隨著計算機的不斷發展,后來的人覺得使用一個硬件就要編寫一個對應的驅動程序太過復雜,就有人專門開發這些計算機底層的硬件,封裝成一個整體,并且共享出來,這樣程序員在開發程序時就不需要自行編寫這些代碼,直接調用即可。這樣程序員在開發程序時,直接調用驅動程序就可以訪問硬件,匯編成二進制流就可以被CPU直接處理了。

  操作系統又稱為硬件虛擬抽象層。是把硬件虛擬化抽象出來的。(如D盤圖標等)不直接去使用硬件,而是用一種代替,虛擬的方式去使用硬件。給硬件分配資源,監控,防止出現資源分配不合理的情況。資源分配不合理,資源浪費會導致系統不運行。這里的操作系統即為內核(kernal)。kernal這個監控程序只是負責把底層的硬件驅動起來并且把底層硬件的各種資源虛擬化。如空間復用,時間復用。

  操作接口(shell),使用操作接口的程序顯示在界面時容易管理,反之則不容易管理。有的應用程序是需要與操作接口作用,產生圖標在界面上,有的直接通過操作系統訪問內核,而不直接與操作接口作用顯示在界面上(如***)。

  操作系統內核可以很好的承上啟下,即操作系統的接口與內核kernal之間的聯系。內核可以很好的屏蔽底層丑陋的硬件將虛擬化的硬件資源放在計算機界面上方便用戶的使用。軟件尋找操作系統接口和使用操作系統的接口的過程叫system call,利用這個接口把我們需要的信息,和需要做的操作通過接口傳遞到操作系統的內核中。即系統調用。調用系統接口的不是程序而是進程。程序是靜態的是死的,進程是動態的,是活的。應用程序通過操作接口shell,經過系統調用到操作系統內核,由內核進行匯編,將高級語言翻譯成匯編語言再翻譯成計算機能夠理解的機器語言,從而對硬件進行調用。

  一個完整的操作系統由內核和各種應用程序組成,內核通過屏蔽底層硬件丑陋的接口,虛擬硬件接口以方便用戶使用。這些抽象出來的接口,我們稱之為系統調用。在程序員編程時采用的代碼需要哪些接口,這些需要事先了解清楚再編寫代碼,否則所編寫的代碼與操作系統的接口無法匹配上便無法在此操作系統上運行調試。因此程序員必須事先了解清楚操作系統有著哪些接口,但操作系統的接口有著上百個,這對于程序員來說也是一種很大的壓力,于是就有一些人將一些常用的到操作系統接口封裝成一個庫即Library。Library中包含了大量的方法,程序員可以基于庫接口進行編程也可以基于內核接口進行編程。在Linux領域,庫接口的調用更加自由,方便。這些庫也稱為API(Application Program Interface).

  如果程序員在編程時使用的是windows操作系統接口,想要在Linux操作系統中運行調試這一段程序,就要確定起初在編寫程序時的windows操作接口與現在要運行環境下的操作系統的API庫能否統一調用。即POSIX(Portable Operating System)可移植操作系統。任何一個遵守了POSIX 規范的程序代碼可以在不同的操作系統上使用。

  編程接口兼容并不意味著二進制接口兼容,也就是說,在程序員編寫代碼時對操作系統的接口能夠兼容但并不意味著能將所編寫程序的語言轉化成二進制機器語言讓硬件進行操作。這里的二進制接口兼容即ABI(Application Binary Interface)。將程序的源代碼轉化為二進制代碼來實現。源代碼能不能編譯取決于API能不能兼容,源代碼編譯后能不能執行取決于ABI能不能兼容。

  訪問界面程序可以分為兩大類

  ①圖形用戶界面(GUI)

  ②命令行界面(CLI)

  我們常用的windows系統都有一個桌面,這個桌面就是圖形用戶界面,初學者使用電腦利用GUI會更容易上手,但是但凡是使用過CLI的人都知道,使用CLI的效率要比使用GUI的要高得多。CLI的入門門檻較高,這也導致了許多人不喜歡使用。但是只要一入門,你就會發現命令行界面是非常簡單的。使用起來幾乎是透明的,哪一個環節出現問題都能迅速找到并且解決。

  從1945年誕生的第一臺計算機到50年代中期的計算機,都屬于第一代計算機。這是還未出現OS,對計算機的全部操作都是由用戶采取人工操作方式進行的。由程序員將事先已穿孔的紙帶,裝入紙帶輸入機,再啟動它們將紙帶上的程序和數據輸入計算機,然后啟動計算機運行。為了解決人機矛盾和I/O設備之間速度不匹配的矛盾,20世紀50年代末出現了脫機I/O技術。該技術是事先將裝有用戶程序和數據的紙帶裝入紙帶輸入機,在一臺外圍機的控制下,把紙帶上的數據輸入到磁帶上,當CPU需要這些程序和數據時再從磁帶高速地調入到內存。為了能夠充分提高計算機資源的利用率,先把一批作業以脫機方式輸入到磁帶上,并在系統中配上監督程序,在它的控制下,使這批作業能夠一個接一個地連續處理。雖然系統對作業的處理是成批進行,但在內存中始終只保持一道作業,故稱為單道批處理。但單道批處理系統中的資源得不到充分的利用,因為內存中僅有一道程序所以該程序在發出I/O請求后,CPU便處于等待狀態。為了進一步提高資源利用率和系統吞吐量,在20世紀60年代中期引入了多道程序的設計技術,由此形成多道批處理系統。在該系統中,,用戶所I提交的作業先存放在外村上,并排成一個隊列。然后由作業調度程序按一定的算法從隊列中選若干個作業進入內存,使他們共享CPU的和系統中的各種資源,由于同時在內存中有若干程序,這樣便可以在運行程序A時,利用其因I/O操作而暫停執行的空擋時間在調度另一程序B執行,使多道程序交替執行,這樣就可以使CPU處于忙碌狀態。

  

  


 

   

  



  

  


  

  

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岑溪市| 洪雅县| 江孜县| 社旗县| 福安市| 淅川县| 巫溪县| 万宁市| 桂东县| 泉州市| 渝中区| 宁晋县| 宁安市| 洛南县| 来安县| 景谷| 井陉县| 吉木萨尔县| 乌拉特前旗| 界首市| 亚东县| 泗洪县| 宜城市| 昌宁县| 阿城市| 丽江市| 怀来县| 儋州市| 贡觉县| 松江区| 潜山县| 桐庐县| 固始县| 分宜县| 松溪县| 永嘉县| 岢岚县| 宁晋县| 淳安县| 莆田市| 庆阳市|