从操作系统层面认识Linux

avatar
作者
猴君
阅读量:2

 描述进程-PCB

Linux操作系统下的PCB是: task_struct

https://www.cnblogs.com/tongyan2/p/5544887.htmlicon-default.png?t=N7T8https://www.cnblogs.com/tongyan2/p/5544887.html校招必背操作系统面试题-什么是 PCB(进程控制块) ?_哔哩哔哩_bilibili校招必背操作系统面试题-什么是 PCB(进程控制块) ?, 视频播放量 145、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 3、转发人数 0, 视频作者 骇客567, 作者简介 视频是为了整理和学习,如果有违规请联系up主进行删除,谢谢,相关视频:校招必背操作系统面试题-进程、线程、协程切换的开销?,校招必背操作系统面试题-为什么进程切换的开销比线程的大?,校招必背操作系统面试题-什么是堆空间?,校招必背操作系统面试题-什么是孤儿进程?,校招计算机网络面试题-TCP 的三次握手是什么?,校招必背操作系统面试题-什么是进程?,校招必背操作系统面试题-进程终止的原因有哪些?,校招必背操作系统面试题-如何处理过多的僵尸进程?,校招必背操作系统面试题-引起进程阻塞与唤醒的事件有哪些?,校招必背操作系统面试题-进程和线程的区别是什么?icon-default.png?t=N7T8https://www.bilibili.com/video/BV1PwVYeZE9L/

进程=内核数据结构+对应的磁盘代码

为什么会有PCB(struct task_struct)结构体呢?

为了更好的管理进程。

理念:先描述在组织。

与进程有关的系统调用。getpid 查看进程编号。

head -1 

提取文本的第一行。

命令行上启动的进程,一般其父进程为bash

运行状态:位于CPU运行队列中的进程---R

阻塞状态:不在运行队列中的进程,将进程(pcb)放入底层硬件对应的运行队列中的进程

等待某种外设资源,导致进程暂时被阻塞。

阻塞不一定挂起,但挂起一定会阻塞

带+表示前台进程

不带+表示后台进程

/* * The task state array is a strange "bitmap" of * reasons to sleep. Thus "running" is zero, and * you can test for combinations of others with * simple bit tests. */ static const char * const task_state_array[] = { "R (running)", /* 0 */ "S (sleeping)", /* 1 */ "D (disk sleep)", /* 2 */ "T (stopped)", /* 4 */ "t (tracing stop)", /* 8 */ "X (dead)", /* 16 */ "Z (zombie)", /* 32 */ }; 

R运行状态(running): 并不意味着进程一定在运行中,它表明进程要么是在运行中要么在运行队列 里。

S睡眠状态(sleeping): 意味着进程在等待事件完成(这里的睡眠有时候也叫做可中断睡眠 (interruptible sleep)

D磁盘休眠状态(Disk sleep)有时候也叫不可中断睡眠状态(uninterruptible sleep),在这个状态的 进程通常会等待IO的结束。

T停止状态(stopped): 可以通过发送 SIGSTOP 信号给进程来停止(T)进程。这个被暂停的进程可 以通过发送 SIGCONT 信号让进程继续运行。

X死亡状态(dead):这个状态只是一个返回状态,你不会在任务列表里看到这个状态

 最终优先级=老的优先级(每次均 从80开始)+nice----[80-2-,80+19]

nice的取值为[-20,19]

修改优先级的指令:

sudo top

查看优先级:

ps -la

CPU的主要作用:

1.取指令

2.分析指令

3.执行指令

寄存器硬件不等于寄存器内的数据

将可执行程序拷贝到系统目录下:

sudo rm myprocess /usr/bin/

 查看历史记录的条数:

echo $HISTSIZE

向大家推荐精品c语言课程:

 更着鹏哥可以然我们的c语言从入门到熟悉。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!