个人博客,想要搭建个人博客的可以进来看看: http://www.ioqian.top/
hello.c说明了一个基本思想,系统中的所有信息(包括磁盘文件,程序,用户数据及网络上的数据)都是由一串位表示的,区分这些数字对象的唯一方法就是我们读到这些对象的上下文。在不同的上下文中,一个相同的字节可能表示一个整数或者浮点数或字符串等
linux中的shell是一个外壳,等待输入命令然后执行,执行完毕后输出一个提示符等待下一个命令
DMA,不需要处理器直接把数据从硬盘拷贝到主存
负责携带信息在各个部件之间传递,通过总线被设计成定长的字节块,也就是字,字长有4个字节或者8个字节就是32位或64位
在处理器执行程序中,存储程序的代码和数据,主存是由一组动态随机存取存储器(DRAM)芯片组成
解释或执行存储在指令中的引擎,核心是一个字长的存储设备(程序计数器,PC)任何时候,PC都指向主存中某条指令的存储地址
文件是I/O设备的抽象表示
虚拟存储器是对主存和磁盘I/O的抽象表示
进程则是对处理器,主存和I/o设备的抽象表示
进程是操作系统对一个正在运行的程序的一种抽象,一个cpu可以并发的执行多个进程,操作系统实现这种交错执行的机制称为上下文切换
虚拟存储器是一个抽象的感念,他问每一个进程提供一个假象,每个进程好像独占主存,每个进程看到的是一致的存储器,称为虚拟地址空间。
栈区—由编译器自动分配释放,存放函数形参,局部变量和自动变量堆区—用于分配由malloc、realloc、calloc分配的空间数据区—该区又分为bss段,rodata段和data段:bss段—保存未初始化或者初始化为0的全局变量rodata段—用于保存常量data段(静态数据区)—保存初始化不为0的全局变量或者static修饰的变量代码区—存放函数体的二进制代码