1、写博客标准5w1h:what(什么)、why(为什么)、who(谁)、where(在那里)、when(什么时候)、how(怎么用)
2、计算机5大部件:cpu(控制器、计算器)、memory(存储器)、I/O(输入设备、输出设备)。CPU内部包含了一个寄存器(用于短暂存储数据)。
3、计算机内存中最小存储单位是bit(位)8bit=1byte(字节)、1024byte=1kb、1024kb=1mb
4、GE, BELL, MIT 三家公司联合研发了 Mutlics,之后GE、BELL公司离开。bell一个程序员ken为了运行Space Travell,用汇编语言写了一个Unics平台,之后ken和同事Dennis Ritche为了更多平台使用unics。就使用高级语言c重写了unics变化为Unix,由于BSD和BELL商业化unix系统,价格昂贵,荷兰一教授自己编写了一个小的操作系统Minix,麻省理工大学Stallman组织了GNU: Gnu is Not Unix自由软件开元协会。之后linus通过minix和unix自己写了一个liunx内核,并由GNU黑客一起创建了现在的GNU/Linux
5、cpu运行有4个环级别,只有内核运行在0环上,应用程序都运行在环3上,内核把cpu分成时间片用来控制程序在cpu上运行时间。应用程序都是运行在cpu上但是他们都受控于内核。
6、开发、运行是2不个不同阶段,编译时移植需要API相同,编译后移植需要ABI相同。API:Application Programming Interface(应用编程接口)ABI:Application Binary Interface(应用二进制接口)。因为不同的操作系统提供的api不同所以不同操作系统上的程序是不能通用的。如果他们都遵循POSIX API那他们提供的api相同,但是程序编译后运行时他们用的ABI不相同所以程序不能通用。
7、静态编译(编译时直接把系统提供的接口包含到程序中来,运行时不需要对应系统提供接口支持)、动态编译(不包含程序编译时系统提供接口。运行时需要对应系统提供相应接口支持)。API 组成部分:syscall系统调用接口,libcall库调用接口。ABI:不同操作系统的内核对于二进制支持格式是各部相同的。SO:shared object(共享对象)、dll:Dynamic Link Library(动态链接库)。POS API:portable os(可移植操作系统)为了兼容unix风格后改为POSIX API。
8、startx -- :2 &。可以启动多个图形窗口。