进程初接触(进程概念)

本文深入探讨了进程的概念,从冯诺依曼体系结构出发,讲解了操作系统的角色,特别是进程如何由task_struct结构体描述。讨论了进程的创建、状态、内存管理和地址空间,以及僵尸进程和孤儿进程的问题。此外,还提到了环境变量及其作用。
摘要由CSDN通过智能技术生成

进程概念:
1.冯诺依曼体系结构
2.操作系统概念
3.进程概念
内核怎么描述进程(task_struct),创建子进程,写时拷贝,进程虚拟地址空间

冯诺依曼体系结构

在这里插入图片描述
第一个思想:
所有的数据在内存中存储的时候,采用2进制的方式进行存储
中央处理器的数据来源于存储器
《深入理解计算机系统》:(cpu <-- 寄存器 <— 缓存 <— 内存)
操作系统
1.操作系统本身就是一个软件,管理计算机的软硬件资源;
2.操作系统 = 操作系统内核 + 一组应用
在这里插入图片描述
用户调用库函数或者系统调用交给操作系统内核,操作系统内核操纵驱动程序或者硬件资源
管理 = 描述 + 组织
在这里插入图片描述
进程概念
操作系统是通过结构体(task_struct)来描述进程,通过双向链表来组织进程
1.进程和程序的区别
程序:程序就是一个文本文件,静态的
进程:程序运行起来的一个实例
从内核当中分析:
在操作系统内核当中,为一个进程创建了一个struct task_struct的结构体,或者称之为进程控制块(ProcessCtrlBlock)–>简称(PCB)
2.了解task_struct结构体的内容
struct task_struct
{
进程标识符(PID):在当前操作系统当中唯一标识当前进程
内存指针:指向程序的地址空间
}
在这里插入图片描述

拓展三个命令:
ps aux:查看当前操作系统当中进程的信息
ps aux | grep “xxx”:在ps aux的结果当中过滤字符串“xxx”
find:在操作系统中查找一个文件
find[path] -name [filename]
/usr/src/kernels/3.10.0-957.el7.x86_64/include/linux/sched.h
拓展:
在vim中查找一个字符串
/s
4核8C:4个物理cpu,8个逻辑cpu
struct task_struct:
进程标识符(PID):别名进程号,在当前操作系统当中不会重复
内存指针:指向程序的地址空间
进程状态:
运行状态:正在cpu上面进行运算
就绪状态:程序已经准备好,在就绪队列当中等待获取cpu资源
阻塞状态:等待IO就绪(可执行程序需要等待输入设备提供数据)
在这里插入图片描述
并发执行(可执行程序1和2):多个程序使用同一个cpu,每个进程都独占cpu一小会,然后让出cpu资源,供其他进程执行
并行执行(可执行程序1和3或者2和3):多个进程,在同一时刻,每个进程都占用一个cpu进行运算
具体的进程状态
R:运

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值