原创 Linux內核設計與實現 第三章

                             Linux內核設計與實現 第三章 這一章介紹了Linux中進程的實現 進程描述符 Linux的進程信息放在一個叫進程描述符(task_struct)的結構中,各個進程描述符又組合成

原创 C++輸入方法:cin.get() cin.getline() getline()

1.cin.get() (1)輸入單個字符 char a; a = cin.get(); cin.get(a); (2)輸入指定長度的char[]字符串,只能是char[],不能是string char a[10]; cin.get

原创 HDFS原理

HDFS原理 HDFS全稱Hadoop Distributed File System,是hadoop中的一個分佈式文件系統,與傳統的文件系統不同,HDFS主針對的是大數據情景下的文件存儲。 1 區別: 普通文件系統:數據塊/磁盤塊*n

原创 Linux內核設計與實現 第八章

下半部和推後執行的工作 在第七章中我們討論了中斷處理程序的上半部,在操作系統響應中斷時,存在着一些限制,比如中斷處理可能打斷其他一些重要代碼,或者執行中斷時需要屏蔽其他中斷。這些限制決定上半部的執行過程需要越快越好。 下半部 在劃分上半部

原创 epoll源碼解析

epoll源碼解析 struct epoll_filefd { struct file *file; int fd; } __packed; /* * Eac

原创 Linux系統設計與實現 第六章

這章感覺沒什麼好說的,以後看見這些數據結構的API操作後能認出來是啥就行了唄。 http://www.cnblogs.com/wang_yb/archive/2013/04/16/3023892.html

原创 Linux內核設計與實現 第五章

系統調用 作用:爲用戶空間提供一個管理接口;保證系統的安全;利於多任務和虛擬內存的實現。 系統調用 系統調用號:每個系統都有唯一的編號,即使該系統調用被刪除此編號也不能回收利用,進程在進行系統調用時直接使用系統調用號而不是系統調用的名字。

原创 Linux內核設計與實現 第四章

Linux內核設計與實現  第四章 多任務 多任務系統可以劃分爲搶佔式多任務和非搶佔式多任務。進程在被搶佔之前能夠運行的時間叫時間片。Linux採用的就是搶佔式多任務 Linux的進程調度 IO消耗型進程:頻繁處於可運行狀態但是隻運行很短

原创 《Linux內核設計與實現》第三章

                             Linux內核設計與實現 第三章 這一章介紹了Linux中進程的實現 進程描述符 Linux的進程信息放在一個叫進程描述符(task_struct)的結構中,各個進程描述符又組合成

原创 C++11對map容器的訪問:下標訪問、at()、find、lower_bound&upper_bound、equal_range

C++中對map容器的訪問有好幾種方式,最簡單的就是直接通過下標訪問,但是這種模式有一個缺點就是如果被訪問元素不在map中,會插入此元素並初始化,下面詳細介紹幾種訪問方式: 1 下標訪問: map<int ,int> m; m[1]=1

原创 C:Percolation

C:Percolation 總時間限制:  1000ms   內存限制:  32768kB 描述 定義一個N行N列的矩陣,矩陣中的每個元素是個方格,每個方格有兩種可能的狀態:開通的或關閉的。初始時,所有方格都是關閉的。輸入數據的每一步會指

原创 B:Butterfly

B:Butterfly 總時間限制:  1000ms 單個測試點時間限制:  100ms 內存限制:  65536kB 描述 有一羣旅行愛好者,有一天,他們帶回了n只蝴蝶回來。他們相信每一隻都屬於兩個不同種類中的一種,爲了討論方便,我們稱

原创 C++11中insert的返回值

在C++11中,關聯容器都有insert()操作,其返回值是一個pair,pair的first返回指向元素的迭代器,second是一個bool,true表示原容器中沒有要插入的元素並且插入成功,false與前者相反。 map<i

原创 C++中explicit關鍵字的用法

C++中的explicit可以阻止在構造函數時發生的隱式轉換 class A { public : A(int num) : n(num) {} private: int n; }; class

原创 C++11中emplace的最簡單初步的理解

emplace是對容器添加元素時的操作,與之前的insert、push_back相比效率更高,簡單的來說就是可以提升容器的插入效率。 vector: emplace  ==  insert emplace_back​  == ​pu