| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 一文让你深入程度的了解Linux进程 -> 正文阅读 |
|
[系统运维]一文让你深入程度的了解Linux进程 |
一,进程的概念冯诺依曼体系结构 这个是一个计算机入门第一节课必然会提到的知识。冯诺依曼体系结构提出了计算机采用二进制;计算机应该按照程序顺序执行。它由输入设备,输出设备,存储器,控制器,运算器组成。 【注意!!注意!!!】 1、这里的存储器指的是内存。 2、不考虑缓存情况,这里的cpu(控制器+运算器)只能对内存进行读写,不能访问外设(输入或输出设备) 3、外设要输入或输出数据,也只能写入内存或者从内存中读取 二,操作系统(0S)任何计算机系统都包含一个基本的程序集合,称为操作系统(OS),操作系统的存在就是让计算机更加的好用,能更方便的、统筹合理的管理计算机的软硬件资源。 那么是怎么管理的?(我们可以先举一个例子,学校的管理,首先我们被辅导员统一管理,辅导员又由院内领导管理,院内领导又由校长管理。) 学生->辅导员->院内领导->校长 这么一个层次结构。但在这之前需要制定一个制度来管理,每一个层次的人都遵守这个制度。这样才能按部就班地进行工作的分配。 那么操作系统也一样。总的来说就是:先描述,再组织;描述用struct结构体,比如进程有task_struct这样一个结构体来描述,组织可以用链表或者其他高效的数据结构。 三,系统调用和库函数概念 系统调用在使用上,功能比较基础,对用户的要求也相对比较高,所以,有心的开发者可以对部分系统调用进行适度封装,从而形成了库,有了库,就很有利于更上层用户或者开发者进行二次开发。 【文章福利】小编推荐自己的Linux内核技术交流群:【865977150】整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!! (1)进程概念 操作系统角度:操作系统运行一个程序,需要描述这个程序的运行过程,这个描述通过一个结构体task_struct{}来描述,统称为PCB,因此对操作系统来说进程就是PCB(process control block)程序控制块 进程的描述信息有:标识符PID,进程状态,优先级,程序计数器,上下文数据,内存指针,IO状态信息,记账信息。都需要操作系统进行调度。 那么在Linux操作系统下,怎么查看进程呢 我们也可以使用ps -ef -aux指令来直接显示进程状态.。 还有getpid()和getppid()这两个函数用来查看当前程序的进程和父进程PID。
(3)进程创建
写这么个程序来初始fork函数
关于fork函数需要理解,每当调用一次fork函数时,会返回两个两次。一次是在调用进程中(父进程)返回一次,返回值是新派生的进程的进程ID。一次是在子进程中返回,返回值是0,代表当前进程为子进程。如果返回-1,那么则代表在创建子进程的过程中出现了错误。 将上面代码执行之后显示如下: 先返回了子进程的pid,之后再返回了父进程的pid;fork()相当于创建了一个新的子进程,但是拷贝的是fork()函数之后的所有数据,之前的并不会拷贝。在代码之上就可以看到parentpid只打印了一次。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 2:40:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |