1. 进程相关概念:
程序:编译好的二进制文件,存在于磁盘上,不占用系统资源(CPU,内存,打开的文件、设备、锁...);
进程:是一个抽象的概念,与操作系统原理联系紧密,进程是活跃的程序,占用系统资源,程序运行起来产生一个进程。同一个程序可以被同时加载成不同的进程(彼此互不影响)。
2. 时钟中断:硬件手段
3. 程序运行过程:
存储介质: 硬盘 --> 内存 --> cache缓存 --> 寄存器(位于CPU)
CPU: 预取器 --> 译码器 --> ALU算术逻辑单元 --> 寄存器堆
代码被编译成二进制的指令,运行时由内存一步步到cache中,预取器从cache取出一条指令交给译码器分析,再由ALU进行指令的执行,包括对寄存器中数值的操作, 操作完成后将寄存器中的结果一步步沿cache传到内存 硬盘 设备等。
4. MMU基本工作原理:位于CPU内部
虚拟地址空间大小是指:可用的地址空间为4G。虚拟地址空间并不真实存在,而是虚拟出来的,用到哪些才会占用物理内存。
MMU就是虚拟内存与物理内存的映射,设置修改内存访问级别(为CPU设置)。用户只可以访问0-3G空间,而内核可以访问0-4G。所以用户空间和内核空间的切换中间会有MMU去调整内存访问级别。
MMU划分物理内存的最小单位是4K!!
5. 进程控制块PCB:位于内核空间
本质是一个struct
进程id: 每个进程有唯一的id;
进程的状态,有就绪、运行、挂起和终止态;
进程切换时需要保存和恢复的一些CPU寄存器;
描述虚拟地址空间的信息;
描述控制终端的信息;
当前工作目录;
umask掩码;保护文件创建时的权限
文件描述符表;
和信号相关的信息;
用户id和组id;
会话和进程组;
进程可以使用的资源上限。
6. 环境变量
是指在操作系统中用来指定操作系统运行环境的一些参数,特征:
(1)本质是字符串 (2)有统一的格式:名= 值[:值] (3)值用来描述进程环境信息
7. 文件的存储形式
inode: 存储文件的属性信息,包含文件大小,文件权限,文件类型,所有者,所属组,存储指针地址, 等。
存储指针地址指向数据块的首地址,数据块存在磁盘上;
目录项dentry:保存文件名和inode编号,所谓硬链接其实就是dentry。
unlink其实删除的一个目录项或者叫硬链接。