• 2019-2020-1 20199327《Linux内核原理与分析》第四周作业


    MenuOS的构造

    操作系统的两把宝剑:

    中断上下文的切换——保存现场和恢复现场;
    进程上下文的切换;

    关键目录

    1. arch:与体系结构相关的子目录列表,存放CPU体系结构的相关代码;
    2. block:存放Linux存储系统中关于块设备管理的代码;
    3. crypto:存放常见的加密算法的C语言代码;
    4. Documentation:存放文档;
    5. firmware:固件;
    6. drivers:驱动目录,分门别类的存放Linux内核支持的所有硬件设备的驱动源代码;
    7. fs:file system,文件系统,列出Linux支持的各种文件系统的实现;
    8. init:initial初始化的意思,存放Linux内核启动时的初始化代码;
    9. include:头文件目录;
    10. ipc:进程间通信;
    11. kernel:内核,存放内核本身需要的核心代码;
    12. mm:memory management,内存管理;
    13. net:网络相关的代码;

    实验

    构建Linux系统MenuOS;

    启动MenuOS;

    断点查看

    start_kernel;

    rest_init;

    总结

    init_task(0号进程)决定了系统所有进程、线程的基因,在创建init进城后,调用cpu_idle()演变成了idle进程,执行一次调度后,init进程运行。kernel—init()1号内核线程负责执行内核的部分初始化工作及进行系统的配置,最后调用do_execve加载init程序,转为init进程。kthreadd进程由0号进程创建,始终运行在内核空间,负责所有内核线程的调度与管理。

  • 相关阅读:
    行规
    不要在对抽象类接口abstract virtual什么的混淆不清了
    MQ与Webservice的区别
    Asp.net MVC流程简述
    Lambda表达式树
    mysql用户管理、权限管理
    mysql锁、事务、存储引擎、索引
    mysql新增、删除、修改
    mysql基础
    linux的任务计划与mail
  • 原文地址:https://www.cnblogs.com/waxxx/p/11627712.html
Copyright © 2020-2023  润新知