怎么帮自己做的网站申请地址,php手机网站开发,云南微网站搭建,中国建设银行网站密码是什么Linux进程管理#xff1a;进程与程序#xff1a;程序#xff1a;存放在磁盘上的一系列代码和数据的可执行映像#xff0c;是一个静止的实体。进程#xff1a;是一个执行中的程序#xff0c;它是动态的实体进程四要素#xff1a;1. 有一段程序供其执行#xff0c;这段程…Linux进程管理进程与程序程序存放在磁盘上的一系列代码和数据的可执行映像是一个静止的实体。进程是一个执行中的程序它是动态的实体进程四要素1. 有一段程序供其执行这段程序不一定是某个进程所专有可以与其他进程共用2. 有进程专用的内核空间堆栈3. 在内核中有一个task_struct数据结构即通常所说的“进程控制块”。有了这个数据结构进程才能成为内核调度的一个的一个基本单位接收内核的调度。4. 有独立的用户空间Linux进程状态1. TASK_RUNNING进程正在被CPU执行或者已经准备就绪随时可以执行当一个进程刚被创建时就处于TASK_RUNNING状态。2. TASK_INTERRUPTIBLE处于等待中的进程待等待条件为真时被唤醒也可以被信号或者中断唤醒。3. TASK_UNINTERRUPTIBLE处于等待中的线程待资源有效时唤醒但不可以由其它进程通过信号或中断唤醒。4. TASK_KILLABLELinux2.6新引入的进程睡眠状态原理类似于TASK_UNINTERRUPTIBLE但是可以被致命信号SIGKILL唤醒。5. TASK_TRACED正处于被调试状态的进程6. TASK_DEAD进程退出时(调用do_exit)所处的状态Linux进程描述在Linux内核代码中线程、进程都使用结构task_struct(sched.h)来表示它包含了大量描述进程/线程的信息其中比较重要的有pid_t pid;//进程号long state;//进程状态int prio;//进程优先级Linux进程调度调度的概念从就绪的进程中选出最合适的一个来执行。1. 调度策略SCHED_NORMAL(SCHED_OTHER):普通的分时进程SCHED_FIFO:先入先出的实时进程SCHED_RR:时间片轮转的实时进程SCHED_BATCH:批处理进程SCHED_IDLE:只在系统空闲时才能够被调度执行的进程2. 调度时机什么时候发生调度即shedule()函数什么时候被调用。调度时机----主动式在内核中直接调用schedule().当进程需要等待资源等而暂时停止运行时会把自己的状态置于挂起(睡眠)并主动请求调度让出CPU。范例1. current-state TASK_INTERRUPTIBLE;2. schedule();调度时机---被动式被动式调度又名抢占式调度。分为用户态抢占和内核态抢占。用户态抢占内核态抢占调度时机---抢占计数3. 调度步骤Schedule函数工作流程如下1. 清理当前运行中的进程2.选择下一个要运行的进程3.设置新进程的运行环境4.进程上下文切换