一.硬件组成:
1.总线---I/O总线,系统总线
2.I/O设备---键盘,鼠标,显示器,硬盘...
3.主存-----DRAM(动态随机访问存储器)
4.CPU------ALU+Register+总线接口+L1高速缓存(SRAM)(与寄存器一样快,但可以存数万字节)+L2高速缓存(SRAM)(高速缓存总线连接,数十万到数百万字节)。
CPU的操作:读取PC指令,解释,执行,更新PC至下条指令。
str r0, 0xf2000000
ldr r0, [r0]
add r0,r0,r1
二.操作系统
进程:task,任务
进程间的切换==上下文切换
上下文:PC,register, RAM(stack...)
eg.
shell进程--->输入./hello---->hello进程---->执行完切换回shell进程。
线程:thread
堆:pool 即内存池,运行时由malloc产生。
栈:stack 运行时创建。(函数调用栈)
Linux 进程的虚拟地址空间:
0xffffffff----0xc0000000 | 内核虚拟存储器 | 用户代码不可见的存储器 |
| 用户栈(运行时创建) |
|
|
|
|
0x40000000 | 共享库的存储器映射区域 | Printf()函数 |
|
|
|
| 运行时堆(运行时malloc创建) |
|
| R/W data | 从hello 可执行文件加载进来的 |
0x08048000 | RO code+data | |
0 | 未用 |
|
文件:字节序列
三.网络
2011-03-09 12:06:09