- 操作系统
基于Bochs仿真Linux0.11内核块设备详解
通过本课程的学习,可以达到以下目标:1、首先,利用bochs、SLS Linux、bximage工具创建硬盘文件系统镜象,并对该镜象进行分区、格式化、制作根文件系统;2、在具备1实战经验后,讲解硬盘MBR、分区表、主分区等结构,并结合代码理解硬盘这个最常用的块设备;3、建立系统CPU、硬盘控制器、驱动器之间的关系,构建块设备驱动开发框架,让驱动从此不再那么神秘;4、建立块设备驱动、缓冲区管理、文件系统三者之间的关系,对于多进程同时访问一块缓冲区的处理流程有更清晰和深刻的理解;5、帮助学员搞清楚块设备驱动与中断处理程序之间的关系;6、内核块设备表建立过程和使用方法;7、缓冲区块大小、磁盘块大小、扇区大小傻傻分不清楚?本课程会给你清晰的讲解。8、授人以鱼不如授人以渔,本课程中介绍的代码学习方法,可以帮你摆脱盲目看代码带来的困惑、迷茫和一头雾水。块设备驱动开发在底层驱动开发中占很大一部分,通过本课程的学习,可以帮助学员理解驱动开发的基本框架,驱动芯片的操作过程,提升工作和后续学习的效率,找到更多内核学习的乐趣。
共12节 248人已学习¥128.0 免费试学 - 操作系统
Linux内核之Kernel目录
通过本课程的学习,可以达到以下目的: 1、通过asm.s及trap.c的学习可以详细了解带错误码和不带错误码的硬件中断处理流程,以及这个过程中内核堆栈的变化过程; 2、通过system_call.s及sys.c的学习,了解系统调用的过程,知道系统如何设置的72个系统调用函数; 3、通过对sched.c的学习,了解任务调度相关的队列、时间片消耗、任务状态间的关系; 4、在signal.c中我们将会学习到信号处理过程中内核堆栈和用户堆栈的操作过程,对sigaction函数与signal函数有更深入的理解; 5、通过exit.c的学习对系统编程中的kill、waitpid函数会有更深入的理解; 5、mktime.c中对系统如何构建从1970年1月1日0时开始的时间及闰年的处理有最原始的描述; 6、最后,课程会介绍与内核打印相关的函数的实现细节。
共11节 1317人已学习¥99.0 免费试学 - 操作系统
Linux0.11内核main函数那些事
本课程介绍Linux0.11版本内核如何人工设置第一个任务(task 0)以及任务0从内核态切换到用户态的详细过程。包括全局描述符表中的TSS0描述符和LDT0描述符的创建过程。与引导过程中全局描述符表及局部描述符表的创建过程构成了一个有机的知识块。在任务0从内核态切换到用户态过程中,可以学习到内核态堆栈与用户态堆栈概念相关的源代码。课程还会介绍嵌入式汇编的基本语法,帮助进阶内核代码阅读。课程最后会介绍,任务0 fork()任务1 init进程的过程,以及在进程1中使用fork()创建登录shell及交互shell的过程。
共6节 504人已学习¥28.0 免费试学 - 操作系统
Linux0.11内核之Boot那些事
详细介绍linux0.11版本内核boot目录下的三个启动文件:bootsect.s、setup.s和head.s。
共3节 654人已学习免费 免费试学 - Linux
Linux0.11内核初始化讲解与调试
结合bochs仿真调试工具边讲解边调试linux0.11版本内核初始化过程,通过该课程可以学习和理解关于linux内核在内存中的分布、分段及分页机制、逻辑地址线性地址及物理地址的区别,更系统的理解CPU实模式及保护模式等。课程会以下面几个部分逐次展开:80386 CPU资源 <https://blog.csdn.net/yuanfen5200/article/details/87886136> 80386 内存寻址机制 <https://blog.csdn.net/yuanfen5200/article/details/87898188> Linux多任务相关的TR寄存器和TSS任务状态段数据结构 <https://blog.csdn.net/yuanfen5200/article/details/87906257> 中断和异常 <https://blog.csdn.net/yuanfen5200/article/details/87954581> Linux引导初始化--代码搬移过程 <https://blog.csdn.net/yuanfen5200/article/details/87992768> Bootsect代码详解 <https://blog.csdn.net/yuanfen5200/article/details/88074835> Bootsect代码详解续 <https://blog.csdn.net/yuanfen5200/article/details/88080292> bootsect里的设备号问题 <https://blog.csdn.net/yuanfen5200/article/details/88082891> bootsect代码解析之system模块搬移 <https://blog.csdn.net/yuanfen5200/article/details/88093484> setup.s程序详解 <https://blog.csdn.net/yuanfen5200/article/details/88254564> head.s程序详解 <https://blog.csdn.net/yuanfen5200/article/details/88368368> 具体视频内容会根据讲解需要进行微调,详细内容参见csdn blog链接: https://blog.csdn.net/yuanfen5200/article/category/8692077
共11节 961人已学习¥50.0 免费试学
- 1
靳庆庆
业务/需求分析师
2012年同济大学硕士毕业,有7年通信协议软件开发工作经验。目前就职华为技术有限公司。业余时间对Linux学习兴趣浓厚,目前正在学习Linux0.01版本内核源代码,希望通过视频分享的形式与网友分享相关内容。
课程数 5 学生数 3684