一.計算機基礎
1.
寄存器速度比內存快,但是存儲量小16字節,或32字節。
main.c->main.exe 在磁盤上
./main 加載到內存中
2.存放速度
存放速度<內存<cache緩存<內存器
3.指令是在硬件上完成的程序是由指令構成的 (操作碼)
4.操作系統:管理計算機上的軟硬件資源,為用戶提供一個交互的接口。
模塊分為:進程管理:一個正在運行的程序
內存管理,文件管理。
5.PCB:進程控制塊、(進程描述符)
進程控制塊是進程存在的唯一標志
進程狀態: 就緒 、運行、阻塞
pid:唯一標識進程的一個id號

6.虛擬內存
虛擬內存提供的三個重要的能力:
1) 它將主存看成是一個存儲在磁盤上的地址空間的高速緩存,在主存中只保存活動區
域,根據需要在磁盤和主存之間來回傳送數據,使得能夠運行比內存大的多的進程。
2) 它為每個進程提供了一致的地址空間,從而簡化了存儲器管理
3) 它保護每個進程的地址空間不被其他進程破壞
二.主函數
1.printf
printf 函數輸出問題
printf 函數並不會直接將數據輸出到屏幕,而是先放到緩沖區中,只有一下三種情況滿
足,才會輸出到屏幕。
1.緩沖區滿
2. 強制刷新緩沖區 fflush, (屏幕輸出時\n,stdin,stdout,stderrd的類型為FILE*)
3.程序結束時
1)
先阻塞三秒在打印 先打印在阻塞三秒
2)exit:先刷新,然后把緩沖區的內容打印到屏幕上
_exit:程序直接退出,不會刷緩沖區
什么也看不到
\n:如果是往屏幕上輸出的話 ,換行符可以達到強制刷新緩沖區,雖然緩沖區沒有放滿,但是要求 輸出去 ,加\n后在第十行后直接 打印出去
3)
4)
SHELL為環境變量名 ,/bin/bash 為環境變量的值
main(),3個參數,參數個數,參數類型,環境變量