操作系統的引導細節

其實理解一樣東西,最好的方式就是去實現它,然後在此過程去學習它。

咱配合最近學習的東西,所以隨便對操作系統的一些基礎實現進行了一定的了解。

其實每一台計算機逃不開的就是啓動的過程,裝逼名詞:引導。

計算機啓動的過程其實流程上來說并不算很複雜,無非:計算機上電->bios自檢->bootloader->操作系統

首先,計算機上電之後,bios的rom上面固化的小型系統將接管計算機控制,此時根據默認或者用戶對bios的自定義配置,它將檢查所有計算機的硬件情況并進行初始化。

ok,現在硬件已經就緒。so,可以在上面跑代碼了。至於是什麼語言,當然指的是Assembly了,因為現在沒有其他高級語言所需要的運行環境,這需要一個操作系統來承載。 Continue reading “操作系統的引導細節”

FFmpeg 學習記錄

這篇Post簡單記錄一下最近學習的FFmpeg。

FFmpeg是一個自由軟件,可以運行音頻和視訊多種格式的錄影、轉檔、串流功能,包含了libavcodec ─這是一個用於多個專案中音頻和視訊的解碼器函數庫,以及 libavformat ——一個音頻與視訊格式轉換函數庫。

“FFmpeg”這個單詞中的 “FF” 指的是 “Fast Forward”。有些新手寫信給”FFmpeg”的項目負責人,詢問FF是不是代表「Fast Free」或者「Fast Fourier」等意思,”FFmpeg”的項目負責人回信說「Just for the record, the original meaning of “FF” in FFmpeg is “Fast Forward”…」

這個項目最初是由Fabrice Bellard發起的,而現在是由Michael Niedermayer在進行維護。許多FFmpeg的開發者同時也是MPlayer項目的成員,FFmpeg在MPlayer項目中是被設計為服務器版本進行開發。

2011年3月13日,FFmpeg 部分開發人士決定另組 libav,網址 http://libav.org ,同時制定了一套關於項目繼續發展和維護的規則。 From Wiki

咱也是突然對這方面有點感興趣。所以就用了些課外時間鼓搗了下這個編解碼庫。 這東西的確非常Geek,非常強大。 Continue reading “FFmpeg 學習記錄”