原创 小白如何學習操作系統?

很多讀者問我如何學習操作系統?推薦幾本操作系統可以看的書?操作系統都需要學什麼?有哪些視頻可以看嗎?下面我就針對性的對這些問題做一下我自己的闡述。 學習操作系統不是爲了讓你設計一個操作系統,而是爲了讓你更好的瞭解其運行原理。 如果你覺得操作

原创 5萬字、97 張圖總結操作系統核心知識點

文末領取大圖。 這不是一篇教你如何創建一個操作系統的文章,相反,這是一篇指導性文章,教你從幾個方面來理解操作系統。首先你需要知道你爲什麼要看這篇文章以及爲什麼要學習操作系統。 搞清楚幾個問題 首先你要搞明白你學習操作系統的目的是什麼?操作

原创 說了這麼多次 I/O,但你知道它的原理麼

IO 軟件目標 設備獨立性 現在讓我們轉向對 I/O 軟件的研究,I/O 軟件設計一個很重要的目標就是設備獨立性(device independence)。啥意思呢?這意味着我們能夠編寫訪問任何設備的應用程序,而不用事先指定特定的設備。比如

原创 一個 static 還能難得住我?

static 是我們日常生活中經常用到的關鍵字,也是 Java 中非常重要的一個關鍵字,static 可以修飾變量、方法、做靜態代碼塊、靜態導包等,下面我們就來具體聊一聊這個關鍵字,我們先從基礎開始,從基本用法入手,然後分析其原理、優化等。

原创 操作系統正確的學習姿勢 --- 你不可錯過的寶藏資源

一般很少有人推薦操作系統的網站吧。。。。。。這幾個網站來源於我平常的學習總結,也有一些是來源於網上優秀的回答,希望這幾個網站能夠助力你對操作系統有更深的認識。 studytonight studytonight 簡直太棒了!!! study

原创 今年行情這麼差,到底如何進大廠?

從春節過後,我,一位雙非渣本的大三學生,便踏上了實習之旅,面試了不下三十場,雖然很菜,但是也相應地拿了一些 offer ,例如京東金融、人人車等五六家 offer 總結一下春招就是一個字:難。 沒學歷,技術還湊合,簡歷能過但是面試就有點困難

原创 很用心的爲你寫了 9 道 MySQL 面試題

MySQL 一直是本人很薄弱的部分,後面會多輸出 MySQL 的文章貢獻給大家,畢竟 MySQL 涉及到數據存儲、鎖、磁盤尋道、分頁等操作系統概念,而且互聯網對 MySQL 的注重程度是不言而喻的,後面要加緊對 MySQL 的研究。寫的如果

原创 看完這篇 Session、Cookie、Token,和面試官扯皮就沒問題了

Cookie 和 Session HTTP 協議是一種無狀態協議,即每次服務端接收到客戶端的請求時,都是一個全新的請求,服務器並不知道客戶端的歷史請求記錄;Session 和 Cookie 的主要目的就是爲了彌補 HTTP 的無狀態特性。

原创 程序員必知的 89 個操作系統核心概念

操作系統(Operating System,OS):是管理計算機硬件與軟件資源的系統軟件,同時也是計算機系統的內核與基石。操作系統需要處理管理與配置內存、決定系統資源供需的優先次序、控制輸入與輸出設備、操作網絡與管理文件系統等基本事務。操

原创 新名詞|什麼是「電源」程序員?

什麼是計算機系統 計算機系統(A computer system) 是由硬件和軟件組成的,它們協同工作運行程序。不同的系統可能會有不同實現,但是核心概念是一樣的,通用的。 不同的系統有 Microsoft Windows、Apple Ma

原创 內存:你跑慢點行不行?CPU:跑慢點你養我嗎?內存:我不管!(內附超全思維導圖)

主存(RAM) 是一件非常重要的資源,必須要認真對待內存。雖然目前大多數內存的增長速度要比 IBM 7094 要快的多,但是,程序大小的增長要比內存的增長還快很多。不管存儲器有多大,程序大小的增長速度比內存容量的增長速度要快的多。下面我們

原创 又能扯皮了!沒內存了還能看片?

虛擬內存 儘管基址寄存器和變址寄存器用來創建地址空間的抽象,但是這有一個其他的問題需要解決:管理軟件的膨脹(managing bloatware)。雖然內存的大小增長迅速,但是軟件的大小增長的要比內存還要快。在 1980 年的時候,許多大學

原创 寫給大忙人看的操作系統

文章主要結構圖如下 操作系統 現代計算機系統由一個或多個處理器、主存、打印機、鍵盤、鼠標、顯示器、網絡接口以及各種輸入/輸出設備構成。 然而,程序員不會直接和這些硬件打交道,而且每位程序員不可能會掌握所有計算機系統的細節,這樣我們就不用

原创 沒有內存,怎麼還能跑程序呢

主存(RAM) 是一件非常重要的資源,必須要小心對待內存。雖然目前大多數內存的增長速度要比 IBM 7094 要快的多,但是,程序大小的增長要比內存的增長還快很多。正如帕金森定律說的那樣:不管存儲器有多大,但是程序大小的增長速度比內存容量的

原创 一篇文章帶你「重新認識」線程上下文切換怎麼玩兒

調度 當一個計算機是多道程序設計系統時,會頻繁的有很多進程或者線程來同時競爭 CPU 時間片。當兩個或兩個以上的進程/線程處於就緒狀態時,就會發生這種情況。如果只有一個 CPU 可用,那麼必須選擇接下來哪個進程/線程可以運行。操作系統中有一