文本文件:只由ASCII字符构成的文件
二进制文件:所有其他文件
区分不同数据对象的唯一方法:根据字节序列的上下文
从源文件到可执行目标文件,执行:
gcc -o hello hello.c
分为四个阶段:
CPU的一些操作如下:
为什么需要缓存?
因为从磁盘上读取数据的时间要远远大于主存中的时间,寄存器的速度又比主存快100倍,而且随着半导体技术进步,差距还在增大,针对这种差异,将处理器近期可能会需要的信息存储在高速缓存,让大部分的内存操作在缓存中完成
从上到下,访问速度越来越慢,容量越来越大:
上一层的存储器作为低一层的高速缓存
应用程序和硬件之间的一层软件,有两个功能:
操作系统对一个正在运行的程序的抽象
上下文:操作系统保持跟踪进程运行所需的所有状态信息
上下文切换:保存当前进程的上下文,恢复新进程的上下文,将控制器交给新的进程
一个进程由多个称为线程的执行单元组成,线程之间共享全局数据和代码
抽象概念,提供了一个假象,每个进程都在独占使用内存,每个进程看到的内存都是一致的,称为虚拟地址空间。
Linux中地址空间最上面区域保留给操作系统中的代码和数据,底部区域存放用户进程定义的代码和数据。
就是字节序列,每个I/O设备都可以堪称是文件
原文地址:https://www.cnblogs.com/jordan95225/p/13904977.html