今天天气还算不错,元气满满的一天开启课程打卡学习~
liunx是最知名和最常用的开源操作系统。作为一个操作系统,Linux是一个软件,位于计算机上的所有其他软件的下面,从这些程序接收请求并将这些请求转发到计算机硬件。
关于liunx的一些基础概念理解
也许大家都已经知道,Linux是由赫尔辛基大学的Linus Torvalds开发的。
- linux是一个类Unix内核实现,他是一个操作系统的底层核心。
- 从某种意义上来讲,Linux可以是以Unix为其灵感来源的,所以,Linux程序和Unix程序是非常的相似,甚至系统API大部分都是一样的,事实上,大部分Unix程序都可以在Linux上编译运行。
- Linux也是开源的代码,可以自由使用、修改、发布。并且现在已经支持市面上大部分的处理器,使用非常广泛。
liunx进程状态补充
- R状态
R运行状态并不意味着进程一定在运行中(并不一定在使用CPU),它表明进程要么是在运行中要么在运行队列里。
#include <iostream> using namespace std; int main() { while (1) { // cout << "running"; } return 0; }
- S/D状态
S睡眠状态意味着进程在等待事件完成(这里的睡眠有时候也叫做可中断睡眠,也就是可以随时被终止,接收中断信号,是一种浅度睡眠,比如调用sleep函数,可以随时被终止)。
D磁盘休眠状态有时候也叫不可中断睡眠状态,在这个状态的进程通常会等待IO的结束。(是一种深度睡眠,比如往磁盘中写数据,不可以随便终止进程,进程需要接受磁盘返回的信息)
#include <iostream> using namespace std; int main() { int t; while (1) { cin >> t; } return 0; }
- D状态
D状态是一种不可中断的睡眠状态。比如一个进程让磁盘你帮我写1G数据到磁盘里面去,磁盘开始忙了,进程就会进入D状态等待磁盘写入完成(因为这种等待状态是不允许被中断的,因为如果中断进程的等待,磁盘写入数据完成后,无法向原来的进程返回错误/正确信息,会导致一些问题)
- T状态
T停止状态:可以通过发送 SIGSTOP信号给进程来停止(T)进程。这个被暂停的进程可以通过发送 SIGCONT 信号让进程继续运行。
- X状态
X死亡状态:这个状态只是一个返回状态,你不会在任务列表里看到这个状态。表示进程彻底结束了,可以回收进程资源了(相关的数据结构+代码和数据),变成X状态后,这个进程几乎瞬间就会被清理掉,所以很难捕捉到处于这个状态下的进程。