• linux内核分析 第六周


    一、进程的描述

    为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息。
    

    1.进程控制块PCB——task_struct

    进程状态
    
    进程打开的文件
    
    进程优先级信息
    

    2.操作系统的三大管理功能

    进程管理
    
    内存管理
    
    文件系统
    

    3.进程的状态

    主要有就绪、等待、运行等。
    

    二、进程的创建

    创建进程的系统调用有3个,它们通过统一的系统调用接口进入核心态运行后就分道扬镳,各自调用自己的内核函数sys_fork、sys_clone、sys_vfork进行处理。这三个函数最终都是调用do_fork函数进行创建子进程的工作,只不过使用的参数有所不同。
    
    Linux通过复制父进程来创建一个新进程:复制父进程PCB--task_struct来创建一个新进程,要给新进程分配一个新的内核堆栈。
    
    修改复制过来的进程数据,比如pid、进程链表等等执行copy_process和copy_thread。
    
    之后,从ret_from_fork开始执行新进程。
    

    三、实验内容

    1.删除menu,下载新代码并执行。

    2.gdb设置断点,观察各个断点。

    吴汉彦 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

  • 相关阅读:
    (五)Hibernate 操作对象
    (四)关联关系一对多映射
    (三)映射对象标识符(OID)
    随机取数据
    Delphi的时间处理
    调用MYSQL存储过程实例
    php接收数据
    NodeJS入门
    idHTTP访问百度
    delphi 从TWebBrowser WebBrowser得到全部html源码
  • 原文地址:https://www.cnblogs.com/whyfarrell/p/5348679.html
Copyright © 2020-2023  润新知