20135337朱荟潼 Linux第六周学习总结——进程的描述和进程的创建
朱荟潼 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课http://mooc.study.163.com/course/USTC 1000029000
第六周 进程的描述和进程的创建
一、 进程的描述
1、 进程控制块PCB——task_struct
1.操作系统的三大管理功能包括
进程管理
内存管理
文件系统
2.PCB task_struct中包含
进程状态
进程打开的文件
进程优先级信息
3.通过唯一的进程标识PID来区别每个进程。
4.进程状态
5.理解task_struct数据结构
二、 进程的创建
1.分析fork函数。
2.创建一个新进程
通过调用fork()来创建一个新进程----->通过复制当前进程来实现的------>先复制一个PCB——task_struct------>再给新进程分配一个新的内核堆栈------>修改复制过来的进程数据(如pid、进程链表等)
3.新进程执行起点:return_from_fork,只复制了内核堆栈一部分,int指令和save_all压到内核栈的内容,参数、系统调用号等都进行压栈。
三、实践
使用gdb跟踪创建新进程
由于虚拟机是32位转化为64位发生溢出现象。
总结
创建一个新进程在内核中的执行过程
1.使用系统调用clone、fork、vfork均可创建一个新进程,但都是通过调用do_fork来实现进程的创建;
2.复制父进程PCB--task_struct来创建一个新进程,要给新进程分配一个新的内核堆栈;
3.修改复制过来的进程数据,比如pid、进程链表等等执行copy_process和copy_thread
4.p->thread.sp = (unsigned long) childregs; //调度到子进程时的内核栈顶p->thread.ip = (unsigned long) ret_from_fork; //调度到子进程时的第一条指令地址
转载于:https://www.cnblogs.com/zzzz5/p/5330144.html
20135337朱荟潼 Linux第六周学习总结——进程的描述和进程的创建相关推荐
- 20135337朱荟潼 Linux第八周学习总结——进程的切换和系统的一般执行过程
第八周 进程的切换和系统的一般执行过程 一.进程切换关键代码switch_to 1.不同类型进程有不同调度需求--两种分类 2.调度策略--规则 Linux中进程优先级是动态的,周期性调整. 3.时机 ...
- 20135337朱荟潼 Linux第二周学习总结——操作系统是如何工作的
一.计算机是如何工作的--总结 三个法宝 存储程序计算机.函数调用堆栈.中断机制 二.堆栈 1.是c语言程序运行时必须的一个记录调用路径和参数的空间. 函数调用框架.传递参数.保存返回地址.提供局部变 ...
- Linux第六周学习总结——进程额管理和进程的创建
Linux第六周学习总结--进程额管理和进程的创建 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/cour ...
- 20135337朱荟潼——实验三
实验三 敏捷开发与XP实践 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程. ...
- 2018-2019-1 20165214 《信息安全系统设计基础》第六周学习总结
20165214 2018-2019-1 <信息安全系统设计基础>第六周学习总结 教材学习内容总结 1.输入操作是从I/O设备复制数据到主存,而输出操作是从主存复制数据到I/O设备 2.U ...
- 2018-2019-1 20165203 《信息安全系统设计基础》第六周学习总结
2018-2019-1 20165203 <信息安全系统设计基础>第六周学习总结 教材学习内容总结 重要知识点 I/O:在主存和外部设备(例如磁盘存储器.终端和网络)之间复制数据的过程. ...
- 20155322 2017-2018-1《信息安全系统设计》第六周学习总结
# 20155322 2017-2018-1<信息安全系统设计>第六周学习总结 教材学习内容总结 第八章: 什么是异常控制流: 控制流:控制转移序列. 控制转移:从一条指令到下一条指令. ...
- 20159313网络攻击与防范第六周学习总结
课本第五章TCP/IP网络协议攻击总结 1.网络安全属性 网络安全是指网络系统的硬件.软件及其系统受到保护,不受偶然的或者恶意的原因而遭到破坏.更改.泄漏,系统连续可靠正常运行,网络服务不被中断.网络 ...
- 20169212 2016-2017-2 《网络攻防实践》第六周学习总结
20169212 2016-2017-2 <网络攻防实践>第六周学习总结 教材学习内容总结 本周学习了第五.六章内容,主要包含TCP/IP网络协议攻击及网络安全防范技术.了解了TCP/IP ...
最新文章
- MySQL 学习笔记(5)— 视图优缺点、创建视图、修改视图、删除视图
- Android应用内展示word、excel、pdf、ppt等文件
- python传参是传值还是传引用
- 详解WordPress中简码格式标签编写的基本方法
- java实现jsonscheme_java – jsonschema和日期类型
- macos剪切_如何使用macOS的内置“ Kill and Yank”作为替代剪切和粘贴
- A Greeting from Qinhuangdao Gym - 102769A 2020ccpc秦皇岛分站赛
- java云端部署_Jelastic Java云端平台
- 专注数据,打造阿里云Elasticsearch“一站式”数据服务体系
- 直播预告丨新时代Oracle DBA成长记-探索故障根源之美
- struts拦截器+注解实现网络安全要求中的日志审计功能
- 键盘可以实现向计算机输入数据判断,计算机应用基础—学习指南.docx
- HTMLTestRunner文件
- java 按符号分割字符串_JAVA字符串按分隔符号字符串分割
- 向量的数量积,向量积,混合积
- 使用RssHub为网页生成RSS订阅源
- 在Java应用程序中将PDF转换为图片和将图片转换为PDF
- Django创建APP
- --scrapy爬虫--
- Java中 \n \f \r \t 含义