原创 操作系統實驗四:獨佔設備的靜態分配模擬

實驗4:獨佔設備的靜態分配模擬 實驗內容:(1)設計設備類表的結構,根據模擬的要求,自己決定必須設置的字段     (2)設計設備分配表的結構,根據模擬的要求,自己決定必須設置的字段     (3)編程實現獨佔設備的靜態模擬程序 cop

原创 I/O多路轉接

#include <stdlib.h> #include <stdio.h> #include <errno.h> #include <string.h> #include <netdb.h> #include <sys/types.h>

原创 C語言的宏定義和C++的內聯函數有什麼意義

宏是預編譯器的輸入,然後宏展開之後的結果會送去編譯器做語法分析。宏與函數等處於不同的級別,操作不同的實體。宏操作的是 token, 可以進行 token的替換和連接等操作,在語法分析之前起作用。而函數是語言中的概念,會在語法樹中創建對應的

原创 字符串匹配的Boyer-Moore算法

字符串的匹配常見的有KMP算法,但是,它並不是效率最高的算法,實際採用並不多。各種文本編輯器的"查找"功能(Ctrl+F),大多采用Boyer-Moore算法。   Boyer-Moore算法不僅效率高,而且構思巧妙,容易理解。1977

原创 快速冪取模算法

所謂的快速冪,實際上是快速冪取模的縮寫,簡單的說,就是快速的求一個冪式的模(餘)。在程序設計過程中,經常要去求一些大數對於某個數的餘數,爲了得到更快

原创 常用匯編指令

1、 MOV(傳送)  指令寫法:MOV target,source  功能描述:將源操作數source的值複製到target中去,source值不變  注意事項:1)target不能是CS(代碼段寄存器),我的理解是代碼段不可寫,只可

原创 Linux網絡編程 五種I/O 模式及select、epoll理解

五種I/O 模式: 【1】 阻塞 I/O (Linux下的I/O操作默認是阻塞I/O,即open和socket創建的I/O都是阻塞I/O) 【2】 非阻塞 I/O (可以通過fcntl或者open時使用O_NONBLOCK參數,將fd設

原创 分形幾何算法和實現

初識分形 1、分形的含義: 英文單詞Fractal,它是由美籍法國數學家曼德勃羅(Benoit Mandelbrot)創造出來的。其含義是不規則的、破碎的、分數的。曼德勃羅是想用此詞來描述自然界中傳統歐幾里得幾何學所不能描述的

原创 楊輝三角問題

楊輝三角形也叫賈憲三角形,西方叫帕斯卡三角形,其實就是各階二項式係數排列起來構成的三角形,如下。每行的數字實際上是(a + b) ^ n展開後的結果。           1           1 1          1 2 1   

原创 機器大小端的檢測

 // 解釋一下就是將  0x11223344 看作字符串 “0x11223344\0”;尾端:44;                // 高端就是 “11 22 33 44” 進行存儲;(大端)                  

原创 編程-青蛙跳臺階

一隻青蛙一次可以跳上1級臺階,也可以跳上2 級……它也可以跳上n 級,此時該青蛙跳上一個n級的臺階總共有多少種跳法? 下面我們有數學歸納法分析一下這個問題:  用Fib(n)表示青蛙跳上n階臺階的跳法數,青蛙一次性跳上n階臺階的

原创 判斷一個數是否爲2的N次方問題

對於判斷一個數是否爲2的N次方問題,通常想到的最爲直接的辦法就是對這個數不斷對2取餘,爲0就將該數變爲該數除以2,直到最後該數爲1爲止。 void judge(int n) { while(!(n % 2))

原创 fork()進階點

#include <stdio.h>   int main(int argc, char* argv[])   {      fork();      fork() && fork() || fork()

原创 四層,七層網絡模型

1、四層,七層網絡模型(以及每層對應的協議) 網絡模型  對應協議 

原创 指令週期、機器週期、’時鐘週期

什麼是指令週期?什麼是機器週期?什麼是時鐘週期?三者之間的關係如何? 指令週期 :取出並執行一條指令的時間。  機器週期 :又稱CPU週期,CPU訪問一次內存所花的時間較長,因此用從內存讀取一條指令字的最短時間來定義。 //機器