原创 Handle 句柄

操作系統的句柄: 在使用操作系統時,經常會用到句柄。那麼,什麼是句柄? 簡而言之,句柄就是一個 void * 指針,指向了一塊內存空間,這塊內存纔是我們需要的數據結構。 以FreeRTOS爲例: typedef void * Timer

原创 Linux專欄8:Linux 連接文件

linux 連接文件 1 linux 連接文件 Linux有兩種連接文件:符號連接(軟連接)和硬鏈接,符號鏈接類似 Windows 下的快捷方式;硬鏈接通過文件系統的 inode 連接來產生新文件名,而不是產生新文件。inode:記錄

原创 Linux專欄6:磁盤管理和文件壓縮

磁盤管理 1 磁盤設備文件 1 準備一個FAT32格式的U盤(U盤中有 “磁盤掛載測試文件.txt” 和 “disk_test.txt”); 2 /dev/sd* 文件,此類文件是磁盤設備文件,並不能直接訪問磁盤,必須要將磁盤掛載到某

原创 計算機原理7:總線與外設

1 回車換行 \r\n 下面是C語言中,關於\r\n的程序: #include <stdio.h> int main(int argc, char *argv[]) { printf("word1 word2 word3\n");

原创 計算機原理4:儲存器

1 二進制加法器 2 加減法器 1 取反電路 2 加減法電路 在進行二進制減法 A - B 時,如果 A > B,則補碼計算結果會進位;A < B則補碼計算結果不會進位。 3 累加器 4 計數器 下面是D觸發器(翻轉)實現的計數器

原创 c primer plus 專題15:位操作

1 按位運算符 1 按位邏輯運算符 按位取反 ~ 按位與 &,賦值語句結合 &= 按位或 |,賦值語句結合 |= 按位異或 ^,賦值語句結合 ^= 2 設置位  flags |= MASK; 3 清除位  flags &= ~MASK;

原创 計算機原理8:操作系統

CP/M 1 計算機軟件 在之前,都是通過控制面板,向RAM中手動輸入程序的。而一旦微處理器斷電,RAM中所有的內容(包括指令和數據)都會丟失。這樣傳統的方式,使我們無論是寫入程序或者保存程序都不方便。 1 沒有軟件時,由於RAM內容

原创 c primer plus 專題13:文件

1 與文件進行通信 1 文件重定向 文件重定向的程序 /* write_file.c -- 數據寫入到文件 */ #include <stdio.h> int main(void) { int i; char * pc; co

原创 c primer plus 專題6:循環

1 while 循環 #include <stdio.h> int main(void) { long num; long sum = 0L; /* 把 sum 初始化爲 0 */ int s

原创 c primer plus 專題7:分支和跳轉

1 if 語句 #include <stdio.h> int main(void) { const int FREEZING = 0; float temperature; int cool_days = 0; int all

原创 Linux專欄7:用戶與權限管理

用戶和用戶組 1 Linux用戶 Linux是一個多用戶操作系統,不同的用戶擁有不同的權限,可以查看和操作不同的文件。 Ubuntu有三種用戶: 1 初次創建的用戶;2 root 用戶;3 普通用戶; 初次創建的用戶權限比普通用戶多,

原创 Linux專欄4:shell命令

shell命令 1 內部命令和外部命令 使用 type 命令查詢: ding@ding-ubuntu:~$ type cd cd 是 shell 內建 ding@ding-ubuntu:~$ type man man 是 /usr

原创 c primer plus 專題8:字符輸入 / 輸出

1 單字符I / O 1 常用的單字符IO函數  getchar() 和 putchar() #include<stdio.h> int main(void) { char ch; while ((ch = getchar())

原创 計算機原理2:鎖存器和觸發器

1 SR鎖存器 分析過程: 1 R = 0,S = 0時  不改變 Q和Q' 的狀態 2 S =1,R = 0時  設置位 Q=1,Q'=0 3 S = 0,R = 1時  與上面對稱,所以是清除位 Q = 0,Q' = 1 4 S

原创 計算機原理6:8080微處理器

1 8080微處理器引腳 引腳說明: 2 寄存器組 8080 CPU的寄存器說明: 3 尋址 直接尋址和間接尋址: MOV 操作碼的位模式: 立即數尋址: 注意,三種尋址方式的數據保存位置: 直接尋址,操作數放在內