zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    java基础笔记-类与对象(多态)
    oracle中trim,ltrim,rtrim函数用法
    git stash
    update from select
    oracle 查看主外键约束
    eclipse git 解决冲突
    根据Request获取客户端IP
    简单说说Spring Security 使用(附加验证码登录,自定义认证)
    linux的nohup命令的用法
    Python包管理工具介绍
  • 原文地址:https://www.cnblogs.com/whyfarrell/p/5348679.html
Copyright © 2011-2022 走看看