原创 初識linux下的find命令

1.認識find命令 關於find命令,本人認爲是linux當中所有的命令當中最重要的一個命令之一,所以,在這裏,我們來聊一聊find命令。 find命令用於在目錄下查找文件,find是在磁盤上進行查找,所以相對來說,效率會低一些

原创 linux定時任務(crond)

關於crond crond是linux下的一個週期性的執行某種任務或者等待處理某些時間的一個守護進程,與windows下的計劃任務類似,當安裝完成操作後,默認會安裝此服務工具,並且會自動啓動crond進程,crond進程每分鐘會

原创 linux中關於壓縮的命令

1.前言 最近在linux下安裝東西,發現好多安裝都需要通過使用壓縮指令來完成,所以覺得是時候來總結一下了。 在windows下,我們常見的壓縮格式有兩種,zip和rar。 在講述壓縮指令之前,我們先去看兩個概念,打包和壓縮。

原创 進程管理—進程描述符(task_struct)

前言 當把一個程序加載到內存當中,此時,這個時候就有了進程,關於進程,有一個相關的叫做進程控制塊(PCB),這個是系統爲了方便進行管理進程所設置的一個數據結構,通過PCB,就可以記錄進程的特徵以及一些信息。 內核當中使用進程描

原创 初識linux軟鏈接和硬鏈接

1.從文件開始到軟硬鏈接 在認識軟鏈接和硬鏈接之前,我們先來了解一下整個系統當中的文件存放特點,在linux當中,數據分爲元數據和用戶數據,元數據包括文件的一些屬性,例如文件大小,創建時間等一些內容。元數據當中有一個叫做inod

原创 linux學習——信號

信號 標籤(空格分隔): 未分類 今天我們來說一說信號,linux當中有一個頭文件signal.h其中提供了62個信號。信號是用於向一個進程來通知發生一部時間的機制。信號類似於一個硬件終端,但是信號沒有優先級,操作系統看待信號都

原创 多線程編程(1)

線程概念 線程線程就是進程的若干個執行流, 因爲一個進程在某一時刻只能去做一件事情,有了線程之後,我們可以在同一時間去做不同的事情,比如我正在邊利用cmd markdown寫博客。邊用網易雲音樂聽音樂,這樣多線程的情況下,能給我

原创 靜態庫和動態庫

前言 在平時,我們很少關注於編譯和鏈接的過程,在現在IDE遍佈的天下,IDE爲我們考慮好了一切。但是真正的藏在每個程序運行背後的東西,很多系統軟件背後的運行機制都是需要我們去熟悉的,熟悉了這些,我們才能快速的解決一些相關的性能等

原创 初識linux下的三個時間

1.從命令看時間 在linux下,我們可以去查看一個文件的三個時間,比如:對於test.c文件我們可以查看時間,使用命令 stat查看 stat test.c 在這裏我們得到以下信息。 通過上述信息,我們可以看到有許多信

原创 進程—內存描述符(mm_struct)

前言 上一篇我們談論了task_struct這個結構體,它被叫做進程描述符,內部成員包含了很多與進程相關的信息,今天我們來看一下其中一個被叫做內存描述符的結構體——mm_struct,抽象的來描述linux下進程的地址空間的所有的

原创 面試題——快排挖坑法的應用

對一個數組按照給定的下標進行排序,僅僅使用兩兩交換的方式,要求不能對數組進行擴容,儘可能少的額外空間。 如:原數組爲A,B,C,D,E,現在給定的新位置爲3,0,1,4,2,那麼排序後爲D,A,B,E,C, void SwapS

原创 進程間通信——共享內存

前言 進程間IPC通信的三大主題,消息隊列,信號量,共享內存,我們接下來說一說共享內存,共享內存可以提供給服務器進程和客戶進程之間進行通信,不需要進行數據的複製,所以速度最快,只需要讓兩個進程通過頁表映射到同一塊物理內存即可,這

原创 從一個進度條看問題

1.前言 我們要實現關於一個進度條,我們的想法是採用for循環的方式,所以對於這個進度條,我們需要從下面幾個問題來一一看待問題。 2.關於 ‘\n’ 與 ‘\r’ 這兩個符號,一個叫做回車,一個叫做換行,好多人對這兩個分不清,所

原创 進程間關係

說完了進程,我們來說一下進程間關係。 進程組 一個或者多個進程的集合,每一個進程除了有一個進程ID之外,它還屬於一個進程組。通常來說,進程組和作業相關聯,可以來接收同一個終端下的各種信號,每一個進程組也有對應的唯一進程組ID。

原创 進程調度算法

今天我們來談一談進程調度算法: 1. 先來先服務調度算法(FCFS) 先來先服務(FCFS)調度算法是一種最簡單的調度算法,該算法既可用於作業調度,也可用於進程調度。當在作業調度中採用該算法時,每次調度都是從後備作業隊列中選擇一