計算機程式Note(台大OCW)
===
* Hardware
* Central Processing Unit(CPU)
> Processing: 處理器
* Arithmetic and Logic Unit (ALU)
> Arithmetic: 算數
> Logic: 邏輯
* Main Memory
* Random Access Memory (RAM)
> 與早期磁帶做區隔,磁帶不能Random Access
* 單位:
* bit (b) : o跟1
* Byte (B) : 8 bit
* K : 2^10^
* M : 2^20^
* G : 2^30^
* T : 2^40^
* bit rate :
* 10^3^ bps = 1 Kbps
* 10^6^ bps = 1 Mbps
* 10^9^ bps = 1 Gbps
* Volatile
* Secondary Storage Unit
> E.X. 硬碟、USB...
* Input Unit
> E.X. 滑鼠、鍵盤...
* Network Interface
* Software
* System Software
> E.X. Opearting System
* Application Software
> E.X. PPT, Word
* Programming Language
* Machine Language
* Assembly Language
* High-Level Language
* Six Phares :

* A skeleton Outline of a Simple C++ Program
```cpp=
// ->註解
#include <iostream>
int main (){ // main -> Function name
return 0; // Statement -> ;結尾
}
// {} -> Program goes here
```
* First Program in C++ : Printing a Line of Text
``` cpp=
// Fig. 2.1: fig02_01.cpp
// Text-printing program.
#include <iostream> // allows program to output data to the screen
// function main begins program execution
int main()
{
std::cout << "Welcome to C++!\n"; // display message
return 0; // indicate that program ended successfully
} // end function main
```
190226 Linux note
===
* POSIX
* https://www.gnu.org/software/libc/manual/html_node/POSIX.html#POSIX
* OOM : 記憶體用完
* $ man mount
* $ man
* 隨堂測驗Q1
* 沒有答案
* 如何證明沒有答案?
* 群論
* 隨堂測驗Q2
* Timing attack (wiki)
* SDR attack radio
* compcert
* compcert linux kernel
* [形式化驗證](https://hackmd.io/s/H1xxp3pF0)
* [軟體缺失的危害](https://hackmd.io/s/B1eo44C1-)