『普林斯頓最熱門的電腦通識課』軟體系統

更新 發佈閱讀 6 分鐘

這章的概念在過去不同階段的學習中都有出現過,但經由作者放在一起,描述現代軟體系統的組成,就又更清晰了一些。只不過這章節在敘述上,稍嫌雜亂,我想作者應該是想要前後文呼應,所以同樣的概念才會反覆出現。

我個人主要的「閱讀重點」是在軟體分層這部份,像作者所說的,如果換處理器或作業系統,只需要重新挑選編譯器,就能讓同一份應用程式的程式碼可以在不同平台運行,那就能大大節省開發的時間。

這部份通常被稱為「程式碼移植」工作,以目前的發展來看,要注意的是與特定硬體相關的「加速指令集 (SIMD)」以及與特定作業系統相關的系統指令。

如果希望自己的應用程式或函式庫,能在不同的處理器或作業平台上運行,為降低後續移植的困難度,應採用模型、介面與邏輯控制分離 (Model-View-Controller, MVC) 的開發模式,並在一開始就使用標準函式庫進行開發,同時為特定的指令編寫抽象/轉換介面

現今嵌入式系統的硬體效能越來越強大,在擁有通用型電腦的特性下,通常都會運行簡化後的作業系統,因此嵌入式系統的開發越來越接近電腦上應用程式的開發流程,使用的工具與軟體元件越來越多,也導致「開發的進入門檻有變高的趨勢」

我甚至認為以後一個小型的物聯網裝置,就是標準的微型電腦,其效能可能都超過 25 年前的桌上型電腦,一個家庭所具備的算力非常驚人,新的世代一出生就被電腦包圍著,不曉得日本或美國科幻電影的情節會不會提早發生呢?


本章節重點摘要如下:

  • 電腦上有兩大類軟體:「作業系統 (Operating System, OS)」 管理一台電腦的硬體,並使它可能運行其他「應用程式 (Applications)」的程式。
  • 應用程式是專注於做單一一件工作的程式的標準用詞。
瀏覽器是應用程式的一種代表性例子,但它有與作業系統的相似點。
  • 近乎每一種電腦,NB、手機、平板、媒體播放器、智慧型手錶或相機等,都有某種作業系統去管理硬體。
  • 早期的電腦並無應用程式和作業系統的區別。作業系統漸漸變得更精巧,與它們控管的硬體演進匹配。
  • Windows 是最常見的作業系統。蘋果電腦使用 MacOS 作業系統,許多幕後電腦使用 Linux 作業系統;手機也使用作業系統,如今通常是較小版本的 Unix Linux
  • 一套作業系統控管及分配資源給一台電腦。它管理處理器,安排及協調目前正在使用的程式。
  • 一套典型的作業系統將有數百個程式在同時作業,有些程式是使用者開啟的,但多數程式是非專業使用者看不到的系統工作。
作業系統管理主記憶體,它把程式載入記憶體,好讓它們能夠開始執行指令。
  • 現在的 Linux 有超過 1,000 萬行程式碼,由成千上萬的人歷經數十年撰寫與修改出來。據推估, Windows 10 可能有大約 5,000萬行程式碼。

一、作業系統如何運作

  • 電腦電源開啟時,處理器便開始執行儲存於永久記憶體中的指令,那些指令從一個小的快閃記憶體中讀取指令,這指令要求去磁碟、USB 記憶體或網路連結中讀取更多指令,直到最終載入足夠的指令去做有用的工作。這種啟動程式稱為 bootstrapping,現在稱為 booting (開機)。
  • 啟動程序涉及檢查硬體,並載入連接硬體的軟體元件(drivers)。
  • 作業系統提供一個建造應用程式的平台; 作業系統做應用程式請求的事,然後把控制權與結果交還給應用程式,這些系統進入點稱為「系統呼叫」,現代的作業系統通常有幾百個系統呼叫。

二、設備驅動程式

  • 一個設備驅動程式是作業系統與一種硬體設備(印表機或滑鼠)之間的「橋樑程式」。
  • 驅動程式介面讓作業系統以一種統一的方式存取設備。作業系統是對一個抽象或理想化的設備做出要求,此設備的驅動程式讓其硬體執行這些要求。
  • 通用型的作業系統有許多驅動程式,開機程序的一部分是把目前可用的設備驅動程式載入運行系統中。

三、其他作業系統

  • 電子零組件越來越便宜,體積越來越小,使得可以在裝置中納入更多硬體,有更強的處理能力與記憶體,具有主流通用型電腦的元件與特性;把一台數位相機稱為加了鏡頭的電腦又或是智慧型手機稱為加了通話功能的電腦
  • 「物聯網」也是以此為基礎:恆溫器、電燈、保全系統等,由「內建的電腦控制,連結至網際網路」。

四、應用程式

  • 應用程式是在作業系統上執行特定工作的程式或軟體系統;它可能只專注做一件特定工作或處理廣泛的工作;可能是要花錢購買或是免費使用的;可能是高度專有的軟體或免費提供的開放源碼軟體。
  • Word Photoshop 都是應用程式的一種,它們具有可觀的商業價值,並歷經持續的演進增添新功能。
  • 瀏覽器本來只是應用程式的一種,但現在越來越像一個作業系統提供給外掛程式、虛擬機及擴充套件等幾個層面延伸擴充。Google 推出一種名為 Chrome OS 的作業系統,主要仰賴網路型服務。

五、軟體分層

  • 軟體是分層結構,這能幫助程式設計師應付管理的複雜性,每一層做不同的事,並提供一個讓上面那層能用以存取服務的抽象概念。
  • 最底層是硬體,往上一層是作業系統 (核心 kernel),把硬體的特定屬性隱藏起來,向應用程式提供無關硬體屬性的介面。
  • 把一個程式移到一個新的處理器上,只需要用一個合適的編譯器去編譯這程式即可如果一個程式越是和一特定硬體的屬性緊密關聯,就越難轉換
  • 蘋果在 2020 年中,把所有平板、電腦從 Intel 的處理器轉換成 ARM 處理器,這個例子展示了軟體可以獨立於特定的處理器架構之外。
  • 作業系統再往上一層是一群「函式庫」,提供通用的服務,讓個別的程式設計師透過應用程式介面(APIs)來存取這些服務,如:數學運算函式、日期與時間運算、圖形使用者介面(GUI)、壓縮等。
  • 作業系統的核心功能主要有:記憶體管理、檔案系統、網路連結、控管裝置及處理器,主要是協調兩種以上應用程式存取資源,互不干擾。
  • 現在「所有的電腦(包含嵌入式裝置)」都有一套作業系統,發展趨勢正朝向使用 Linux 之類的通用型作業系統,而非使用專門型作業系統。
  • 現今使用的任何重要技術中都含有一個以上重要的「軟體元件」。
留言
avatar-img
一個工程師的創業之旅的沙龍
74會員
442內容數
閱讀可以用最低的成本來獲得別人經驗,培養閱讀能力,一生受益。但要記住,別只讓自己的大腦永遠處於「輸入狀態」,要適當地「輸出」自己的想法。透過閱讀輸入,再利用寫作輸出,就像「費曼學習法」說的一樣,教授到別人能夠了解,自己才算是領悟了這門學問。
2024/04/12
電腦是「數位處理器(digital processor)」,它們儲存及處理分批進來的「離散值(discrete values,不連續值)」。電腦易於處理數位資料,且數位系統比類比系統更容易延伸擴充。
Thumbnail
2024/04/12
電腦是「數位處理器(digital processor)」,它們儲存及處理分批進來的「離散值(discrete values,不連續值)」。電腦易於處理數位資料,且數位系統比類比系統更容易延伸擴充。
Thumbnail
2024/04/04
電腦的邏輯或功能性架構包含:處理器(processor)、主記憶體(primary memory)、輔助儲存器(secondary storage),以及其他元件,全部都由一個名為匯流排 (bus)的線路連結,這些線路在它們之間傳輸資訊。
Thumbnail
2024/04/04
電腦的邏輯或功能性架構包含:處理器(processor)、主記憶體(primary memory)、輔助儲存器(secondary storage),以及其他元件,全部都由一個名為匯流排 (bus)的線路連結,這些線路在它們之間傳輸資訊。
Thumbnail
2024/03/27
「資料探勘」早在十幾年前唸書時就有耳聞,但資料科學倒是近五年來才知道有這門學科。就我的理解來說,資料探勘就是如何從大量資料中找出有用的資訊,而「資料科學」就是利用這些有用的資訊來做分析,從而達到預測的目的。
Thumbnail
2024/03/27
「資料探勘」早在十幾年前唸書時就有耳聞,但資料科學倒是近五年來才知道有這門學科。就我的理解來說,資料探勘就是如何從大量資料中找出有用的資訊,而「資料科學」就是利用這些有用的資訊來做分析,從而達到預測的目的。
Thumbnail
看更多
你可能也想看
Thumbnail
本書介紹了戰略設計、管理領域複雜度、實際應用領域驅動設計等主題。透過對核心子領域、支持子領域、限界上下文等概念的探討,提供了領域驅動設計的相關知識。這篇文章中還涉及了微服務、事件驅動架構和資料網格等相關主題,提供了設計系統和應用領域驅動設計的指導。
Thumbnail
本書介紹了戰略設計、管理領域複雜度、實際應用領域驅動設計等主題。透過對核心子領域、支持子領域、限界上下文等概念的探討,提供了領域驅動設計的相關知識。這篇文章中還涉及了微服務、事件驅動架構和資料網格等相關主題,提供了設計系統和應用領域驅動設計的指導。
Thumbnail
這篇內容,將會講解什麼是「switch」,以及與「switch」相關的知識。包括switch的簡介、switch、break。
Thumbnail
這篇內容,將會講解什麼是「switch」,以及與「switch」相關的知識。包括switch的簡介、switch、break。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
歡迎來到我們的Windows教學!在這裡,你將學習如何有效使用Windows操作系統。我們將探索各種基本操作,如文件管理、桌面設置、程式安裝和系統設置。無論你是新手還是希望深入了解Windows的使用者,我們的教學內容都能夠幫助你提升操作技能,使你在日常使用和工作中更加流暢和高效。立即加入我們,開啟
Thumbnail
歡迎來到我們的Windows教學!在這裡,你將學習如何有效使用Windows操作系統。我們將探索各種基本操作,如文件管理、桌面設置、程式安裝和系統設置。無論你是新手還是希望深入了解Windows的使用者,我們的教學內容都能夠幫助你提升操作技能,使你在日常使用和工作中更加流暢和高效。立即加入我們,開啟
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
實際就業後,會發現收集與分析需求,通常都不是工程師在做,會有另一群人,以非工程的角度收集及分析需求,然後在開發過程中蹦出不同的火花,於是很好奇另一群人的想法是什麼?我不敢說這本書能完全代表另一群人的想法,但確實能夠得到很多有用的思維。推薦給所有的軟體工程師。
Thumbnail
實際就業後,會發現收集與分析需求,通常都不是工程師在做,會有另一群人,以非工程的角度收集及分析需求,然後在開發過程中蹦出不同的火花,於是很好奇另一群人的想法是什麼?我不敢說這本書能完全代表另一群人的想法,但確實能夠得到很多有用的思維。推薦給所有的軟體工程師。
Thumbnail
如果你也是從事軟體相關工作的人,一定會遭遇突然需要你去學習一套你不熟悉的程式語言狀況吧,此時你會怎麼做呢? 是趕快去買書來看嗎? 還是趕快找一門程式課來上? 又或者乾脆去找會的同事來教學?
Thumbnail
如果你也是從事軟體相關工作的人,一定會遭遇突然需要你去學習一套你不熟悉的程式語言狀況吧,此時你會怎麼做呢? 是趕快去買書來看嗎? 還是趕快找一門程式課來上? 又或者乾脆去找會的同事來教學?
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News