1,冯诺依曼体系结构
现代计算机的硬件结构构一一硬件结构决定软件行为
计算机五大单元:输出设备 输入设备 存储器 控制器 运算器
所有的设备都是围绕存储器而运行的
2,操作系统
功能:硬件资源的管理以及为上层应用供良好的执行环境
管理者将被管理者先描述起来然后组织起来进行管理
库函数与系统调用函数的关系一一上下层的封装调用关系
3,进程 即运行起来的程序
每一个进程的描述都是一个结构体一一一一PCB(在操作系统的角度上)
Linux下这个结构体的名称为task_struct
4,
操作系统以父进程为模板创建了子进程,父子进程里代码段相同,数据各自独有。对于 父进程来说。返回值是子进程的id, 对于父进程来说,返回值是0,出错了返回值是 -1
5,僵尸进程
产生原因:1,子进程退出为了保存自己的退出原因,因此这个退出后资源不会被释放,等待父进程来获退出状态,然后释放子进程的所有资源。2、假如父进程没有关注子进程的退出,那么这时候子进程将成为一个僵尸进程,占据着系统资源而不释放
危害:资源泄露,正常进程不能成功创建
6,进程状态
运行状态(R) 可中断睡眠状态(S) 不可中断睡眠状态(D) 停止状态(T) 死亡状态(X)
7,孤儿进程:
父进程先于子进程退出,那么子进程就成为了孤儿进程,这个孤儿进程将被孤儿院 init进程所领养,子进程退出后将有init进程来回收释放资源。
8 , 优先级
Ps -efl PRI NI
PRI = PRI+NI
nice renice
交互式进程:优先级应该高一点
批处理进程:优先级就可以稍微低一点
竞争性:进程多而cpu资源少,所以进程具有竞争性,为了高效完成任务便具有了 优先级
并行:多个进程在多个CPU下分别同时进行
并发: 多个进程在一个cpu下采用进程切换的方式在一段时间内让多个进程得以推进
9, 环境变量:
在操作系统中具有特殊功能的参数变量,是具有全局特性的
env set echo export unset
HOME SHELL
代码中的操作(获取环境变量):main函数第三个参数,extern char **environ
getenv(),putenv()
- 程序地址空间 (进程地址空间,虚拟地址空间)
在C语言中;
虚拟地址和物理地址
页表:
记录虚拟地址与物理地址之间的映射关系
内存的访问控制
这些还不够完善,只是最基础的笔记内容,留待在以后的学习中完善。