Linux进程概念

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()

  1. 程序地址空间 (进程地址空间,虚拟地址空间)

  在C语言中;

Linux进程概念 

虚拟地址和物理地址

页表:

记录虚拟地址与物理地址之间的映射关系

内存的访问控制

 

这些还不够完善,只是最基础的笔记内容,留待在以后的学习中完善。