?
前言
大家好吖,歡迎來到 YY 滴 Linux系列 ,熱烈歡迎! 本章主要內(nèi)容面向接觸過Linux的老鐵,從軟硬件層面向大家介紹操作系統(tǒng)與馮諾依曼體系,
主要內(nèi)容含:
歡迎訂閱 YY滴Linux專欄!更多干貨持續(xù)更新!以下是傳送門!
訂閱專欄閱讀: YY的《Linux》系列 ????? |
---|
【Linux】Linux環(huán)境搭建(新手指南,購買,登錄)(1) |
【Linux】Linux基本指令大全-[詳解](2) |
【Linux】Linuxの權(quán)限與權(quán)限基本問題-[詳解](3) |
【Linux】基礎(chǔ)開發(fā)工具—[yum]&[vim]詳解(4) |
【Linux】gcc&g++與 [ 動(dòng)靜態(tài)庫 ] 的美妙邂逅(5) |
【Linux】自動(dòng)化構(gòu)建工具-make/Makefile詳解(6) |
【Linux】進(jìn)度條小程序の深度解剖(7) |
【Linux】從軟硬件角度重新理解 [ 操作系統(tǒng)與馮諾依曼體系 ](8) |
【Linux】程序員一定要了解的計(jì)算機(jī)管理理念——描述與組織(9) |
【Linux】操作系統(tǒng)管理的算珠——進(jìn)程の詳解(10) |
歡迎訂閱 YY滴C++專欄!更多干貨持續(xù)更新!以下是傳送門!
- YY的《C++》專欄
- YY的《C++11》專欄
- YY的《Linux》專欄
- YY的《數(shù)據(jù)結(jié)構(gòu)》專欄
- YY的《C語言基礎(chǔ)》專欄
- YY的《初學(xué)者易錯(cuò)點(diǎn)》專欄
- YY的《小小知識點(diǎn)》專欄
一.馮諾依曼體系(硬件層面)
1.CPU與輸入輸出設(shè)備
截至目前,我們所認(rèn)識的計(jì)算機(jī),都是有一個(gè)個(gè)的硬件組件組成
- 輸入單元:包括鍵盤, 鼠標(biāo),掃描儀, 寫板等
- 中央處理器(CPU):含有運(yùn)算器和控制器等
- 輸出單元:顯示器,打印機(jī)等
中央處理器(cpu)又分成運(yùn)算器與控制器
- 運(yùn)算器:對我們的數(shù)據(jù)進(jìn)行計(jì)算任務(wù)(算數(shù)運(yùn)算,邏輯運(yùn)算)
- 控制器:對我們的計(jì)算硬件流程進(jìn)行一定的控制
各個(gè)硬件之間都是獨(dú)立的個(gè)體!因此必須用“線”連接起來,分為系統(tǒng)總線與IO總線;
- 系統(tǒng)總線:CPU與內(nèi)存之間交互的線
- IO總線:內(nèi)存與輸入輸出設(shè)備之間交互的線
2.存儲器
這里的存儲器指的是【內(nèi)存】,一句話總結(jié)此模塊的要點(diǎn)
- 所有設(shè)備都只能直接和內(nèi)存打交道
【不考慮緩存情況,這里的CPU能且只能對內(nèi)存進(jìn)行讀寫,不能訪問外設(shè)(輸入或輸出設(shè)備)】
【外設(shè)(輸入或輸出設(shè)備)要輸入或者輸出數(shù)據(jù),也只能寫入內(nèi)存或者從內(nèi)存中讀取】- 有時(shí),我們進(jìn)行工作時(shí),默認(rèn)顯示的數(shù)據(jù)有時(shí)候會緩存起來,并未直接在屏幕上顯現(xiàn);用馮諾依曼體系解釋就是數(shù)據(jù)就是先到存儲器中的【內(nèi)存】,還未直接交給輸出設(shè)備
- 因此,當(dāng)我們面對一個(gè)問題“一個(gè)程序要運(yùn)行,為什么必須先加載到內(nèi)存中運(yùn)行?”,我們可以直接回答:因?yàn)轳T諾依曼體系規(guī)定;
3.存儲的分級
引入:手機(jī)中常說的“內(nèi)存不足”其實(shí)指的是硬盤空間不足;用存儲是分級的現(xiàn)象來解釋,且看如圖所示金字塔
即,硬盤/磁盤空間不足才是正確說法;
二.操作系統(tǒng)(軟件層面)
1.操作系統(tǒng)概述
任何計(jì)算機(jī)系統(tǒng)都包含一個(gè)基本的程序集合(軟件),稱為操作系統(tǒng)(OS)?;\統(tǒng)的理解,操作系統(tǒng)包括:
- 內(nèi)核(進(jìn)程管理,內(nèi)存管理,文件管理,驅(qū)動(dòng)管理)
- 其他程序(例如函數(shù)庫,shell程序等等)
![]()
操作系統(tǒng)的作用主要有以下兩點(diǎn):(用戶層這里主要指程序員)文章來源:http://www.zghlxwxcb.cn/news/detail-649709.html
- 通過幫助用戶管理好軟硬件資源【承上啟下,實(shí)現(xiàn)交互;程序員通過操作系統(tǒng)來訪問底層的硬件】
- 從而給用戶提供一個(gè)良好(穩(wěn)定,高效,安全)的運(yùn)行環(huán)境
![]()
2.系統(tǒng)調(diào)用
引入:操作系統(tǒng)內(nèi)部會有各種各樣的數(shù)據(jù),可是操作系統(tǒng)不相信任何用戶, 于是其會將自己封裝起來,并通過“提供接口”的方式給用戶(程序員)提供調(diào)用的入口來獲取操作系統(tǒng)內(nèi)部的數(shù)據(jù);
文章來源地址http://www.zghlxwxcb.cn/news/detail-649709.html
- 所有訪問操作系統(tǒng)的行為,都只能通過系統(tǒng)調(diào)用完成!
- 系統(tǒng)調(diào)用:是操作系統(tǒng)提供的,用C語言實(shí)現(xiàn)的,自己內(nèi)部的函數(shù)調(diào)用;
- 系統(tǒng)調(diào)用在使用上,功能比較基礎(chǔ),對用戶的要求相對也比較高,所以,有心的開發(fā)者可以對部分系統(tǒng)
調(diào)用進(jìn)行適度封裝,從而形成庫(lib),有了庫,就很有利于更上層用戶或者開發(fā)者進(jìn)行二次開發(fā)。![]()
到了這里,關(guān)于【閃擊Linux系列P8】從軟硬件角度重新理解 [ 操作系統(tǒng)與馮諾依曼體系 ]的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!