登录  | 立即注册

游客您好!登录后享受更多精彩

查看: 68|回复: 1

[视频] X64架构汇编语言和操作系统基础

[复制链接]
回帖奖励 140 断点币 回复本帖可获得 10 断点币奖励! 每人限 1 次

172

主题

25

回帖

1412

积分

管理员

积分
1412
发表于 5 天前 | 显示全部楼层 |阅读模式


目录
│  
├─x64asm-20020822
│  └─x64asm
│      │  asm8086.xml
│      │  dd.exe
│      │  fixvhdw64.exe
│      │  fixvhdw64.ini
│      │  HexView.exe
│      │  LEARN.vhd
│      │  LEECHUNG.vhd
│      │  nasmide2.ini
│      │  Nasmide64.exe
│      │  usbd_mbr.bin
│      │  
│      ├─c02
│      │      c02_core.asm
│      │      c02_ldr.asm
│      │      c02_ldr.bin
│      │      c02_ldr.lst
│      │      c02_mbr.asm
│      │      c02_mbr.bin
│      │      c02_mbr.lst
│      │      
│      ├─c06
│      │      c06_core.asm
│      │      c06_core.bin
│      │      c06_core.lst
│      │      c06_shell.asm
│      │      c06_shell.bin
│      │      c06_shell.lst
│      │      c06_userapp.asm
│      │      c06_userapp.bin
│      │      c06_userapp.lst
│      │      
│      ├─c07
│      │      c07_core.asm
│      │      c07_core.bin
│      │      c07_core.lst
│      │      c07_ldr.asm
│      │      c07_ldr.bin
│      │      c07_ldr.lst
│      │      
│      ├─c07 - 副本
│      │      c07_core.asm
│      │      c07_core.bin
│      │      c07_core.lst
│      │      c07_ldr.asm
│      │      c07_ldr.bin
│      │      c07_ldr.lst
│      │      
│      ├─c07 - 副本 (2)
│      │      c07_core.asm
│      │      c07_core.bin
│      │      c07_core.lst
│      │      c07_ldr.asm
│      │      c07_ldr.bin
│      │      c07_ldr.lst
│      │      
│      ├─c08
│      │      c08_core.asm
│      │      c08_core.bin
│      │      c08_core.lst
│      │      c08_shell.asm
│      │      c08_shell.bin
│      │      c08_shell.lst
│      │      c08_userapp.asm
│      │      c08_userapp.bin
│      │      c08_userapp.lst
│      │      
│      └─common
│              core_utils64.bin
│              core_utils64.lst
│              core_utils64.wid
│              core_utils64_mp.bin
│              core_utils64_mp.lst
│              core_utils64_mp.wid
│              global_defs.bin
│              global_defs.lst
│              global_defs.wid
│              user_static64.lib
│              
├─{01}--内容提要及课程相关说明
│      [1.1]--内容提要及课程相关说明.mp4
│      
├─{02}--X64基本架构和执行环境
│      [2.10]--X86处理器的物理地址空间.mp4
│      [2.11]--X64架构下传统模式的内存访问.mp4
│      [2.12]--传统模式下的32位4KB分页技术.mp4
│      [2.13]--传统模式下如何利用超过4GB的物理内存.mp4
│      [2.14]--传统模式下的32位4MB分页技术.mp4
│      [2.15]--传统模式下的32位PAE分页技术.mp4
│      [2.16]--传统模式下的32位PAE-4KB分页技术.mp4
│      [2.17]--传统模式下的32位PAE-2MB分页技术.mp4
│      [2.18]--X64架构的线性地址空间.mp4
│      [2.19]--扩高地址的特点和处理器检查.mp4
│      [2.1]--有关本章内容学习的重要提示.mp4
│      [2.20]--X64架构下IA-32e模式的内存访问.mp4
│      [2.21]--X64架构的段寄存器.mp4
│      [2.22]--X64架构下的代码段描述符.mp4
│      [2.23]--X64架构下的数据段描述符.mp4
│      [2.24]--X64架构下的4级和5级分页简介.mp4
│      [2.25]--X64架构下的系统表和系统描述符.mp4
│      [2.26]--X64架构下的GDTR.mp4
│      [2.27]--X64架构下的IDTR.mp4
│      [2.28]--X64架构下的LDT描述符和LDTR.mp4
│      [2.29]--X64架构下的TSS描述符和TR.mp4
│      [2.2]--X64架构的由来.mp4
│      [2.30]--X64架构下的标志寄存器和指令指针寄存器.mp4
│      [2.31]--X64架构下传统模式的寻址方式.mp4
│      [2.32]--X64架构下IA-32e模式的寻址方式.mp4
│      [2.33]--64位模式的RIP相对寻址方式.mp4
│      [2.34]--64位模式下的指令变化情况.mp4
│      [2.35]--IA-32e模式下的中断和异常处理概述.mp4
│      [2.3]--物理地址、有效地址和线性地址.mp4
│      [2.4]--X64架构的工作模式.mp4
│      [2.5]--IA-32e模式及其子模式.mp4
│      [2.6]--第一次阶段性巩固和测试.mp4
│      [2.7]--X64架构对通用寄存器的扩展.mp4
│      [2.8]--X64架构新增加的通用寄存器.mp4
│      [2.9]--X64架构的通用寄存器访问规则.mp4
│      
├─{03}--准备进入IA-32e模式
│      [3.10]--调用BIOS例程显示字符串.mp4
│      [3.11]--读磁盘失败后的错误处理.mp4
│      [3.12]--准备读取内核加载器程序的剩余部分.mp4
│      [3.13]--转入内核加载器执行.mp4
│      [3.14]--检测处理器是否支持IA-32e模式.mp4
│      [3.15]--位测试指令BT.mp4
│      [3.16]--获取和显示处理器商标信息.mp4
│      [3.17]--获取和保存处理器的地址尺寸数据.mp4
│      [3.18]--显示处理器的地址尺寸信息.mp4
│      [3.19]--为进入保护模式准备全局描述符表.mp4
│      [3.1]--进入IA-32e模式的方法.mp4
│      [3.20]--进入保护模式.mp4
│      [3.21]--在保护模式下显示字符串.mp4
│      [3.22]--有关内核程序及其如何加载的说明.mp4
│      [3.23]--读取内核程序的第一个扇区.mp4
│      [3.24]--将内核程序完全加载到内存中.mp4
│      [3.2]--本章的目标及源程序的组织.mp4
│      [3.3]--主引导程序和NASM的文件包含功能.mp4
│      [3.4]--如何避免文件被重复包含.mp4
│      [3.5]--编写主引导程序的一般性建议.mp4
│      [3.6]--用BIOS硬盘扩展读加载内核加载器.mp4
│      [3.7]--在程序中使用NASM运算符和表达式.mp4
│      [3.8]--内核加载器程序的有效标志和长度.mp4
│      [3.9]--通过数据段访问栈中的数据结构.mp4
│      
├─{04}--为进入IA-32e模式准备4级分页
│      [4.10]--创建与低端2MB物理内存对应的4级头表项和页目录指针表.mp4
│      [4.11]--创建与低端2MB物理内存对应的页目录指针项和页目录表.mp4
│      [4.12]--创建与低端2MB物理内存对应的页目录项.mp4
│      [4.13]--将物理内存低端的2MB映射到线性地址空间的高端.mp4
│      [4.14]--为多任务环境准备必要的4级头表项.mp4
│      [4.15]--为内核的4级分页系统预分配254个页目录指针表.mp4
│      [4.16]--在内核的4级头表内安装254个表项并清空相关的页目录指针表.mp4
│      [4.17]--进程上下文标识PCID.mp4
│      [4.18]--控制寄存器CR3的内容格式.mp4
│      [4.19]--设置控制寄存器CR3并开启物理地址扩展功能.mp4
│      [4.1]--4级分页的结构和原理.mp4
│      [4.20]--型号专属寄存器IA32_EFER的设置和分页的开启.mp4
│      [4.2]--2MB和1GB页面的4级分页方式.mp4
│      [4.3]--4级头表项的格式.mp4
│      [4.4]--页目录指针项的格式.mp4
│      [4.5]--页目录项和页表项的格式.mp4
│      [4.6]--4级头表的创建和初始化.mp4
│      [4.7]--创建指向4级头表自身的4级头表项.mp4
│      [4.8]--准备映射物理内存的低端2MB空间.mp4
│      [4.9]--在4级分页中使用2MB的物理页.mp4
│      
├─{05}--进入IA-32e的64位模式执行
│      [5.10]--通用异常服务例程的工作过程.mp4
│      [5.11]--加载有效地址指令LEA.mp4
│      [5.12]--创建通用中断处理过程的中断门.mp4
│      [5.13]--在IDT内安装前32个与异常有关的中断门.mp4
│      [5.14]--在IDT内安装剩余的中断门并加载IDTR.mp4
│      [5.15]--初始化8259中断控制器.mp4
│      [5.16]--打印64位模式下的第一条信息.mp4
│      [5.17]--在虚拟机上观察内核的运行情况.mp4
│      [5.1]--在IA-32e的兼容模式下显示文本信息.mp4
│      [5.2]--通过远返回方式进入64位模式的内核.mp4
│      [5.3]--准备让内核工作在线性地址空间的高端.mp4
│      [5.4]--启用GDT和栈区的高端线性地址.mp4
│      [5.5]--使用RIP相对寻址将内核的起始线性地址改为高端地址.mp4
│      [5.6]--让处理器转到内核程序对应的高端位置继续执行.mp4
│      [5.7]--IA-32e模式下的中断门和陷阱门.mp4
│      [5.8]--IA-32e模式下的中断处理过程.mp4
│      [5.9]--内核的文件组织与通用的中断和异常处理策略.mp4
│      
├─{06}--单处理器环境下的多任务管理和调度
│      [6.10]--内核可用线性地址的获取和更新.mp4
│      [6.11]--立即数在64位模式下的长度限制.mp4
│      [6.12]--计算本次内存分配涉及的线性地址范围.mp4
│      [6.13]--获取与指定线性地址对应的4级头表项的线性地址.mp4
│      [6.14]--页面分配与页映射位串.mp4
│      [6.15]--页映射位串的定义和空闲页的查找.mp4
│      [6.16]--获取与指定线性地址对应的页目录指针项的线性地址.mp4
│      [6.17]--检查与指定线性地址对应的页目录指针项是否存在.mp4
│      [6.18]--分配页目录表并安装与线性地址对应的页目录指针项.mp4
│      [6.19]--安装与指定线性地址对应的页目录项、页表项和页面.mp4
│      [6.1]--单处理器环境下的多任务概述.mp4
│      [6.20]--64位LDT和TSS描述符的格式.mp4
│      [6.21]--创建和安装64位的TSS描述符并加载任务寄存器TR.mp4
│      [6.22]--实时时钟中断的安装和系统外壳任务简介.mp4
│      [6.23]--准备创建外壳任务.mp4
│      [6.24]--为新任务创建任务控制块PCB.mp4
│      [6.25]--为新任务创建4级头表.mp4
│      [6.26]--将指定的线性地址映射到指定的物理页.mp4
│      [6.27]--复制当前活动4级头表的内容给新任务的4级头表.mp4
│      [6.28]--切换到新任务的地址空间并清空4级头表的前半部分.mp4
│      [6.29]--为新任务分配0特权级使用的栈空间.mp4
│      [6.2]--快速系统调用概述.mp4
│      [6.30]--为新任务分配3特权级使用的栈空间.mp4
│      [6.31]--从硬盘上加载用户程序.mp4
│      [6.32]--生成任务标识.mp4
│      [6.33]--双向PCB链表概述.mp4
│      [6.34]--将新任务的PCB添加到PCB链表中.mp4
│      [6.35]--64位的任务状态段TSS和中断栈表IST.mp4
│      [6.36]--以中断返回的方式进入外壳任务的局部空间执行.mp4
│      [6.37]--系统调用指令SYSCALL和SYSRET.mp4
│      [6.38]--根据功能号计算内核例程的线性地址.mp4
│      [6.39]--快速系统调用的返回和指令的REX前缀.mp4
│      [6.3]--型号专属寄存器IA32_STAR.mp4
│      [6.40]--准备在时钟中断的处理中执行任务切换.mp4
│      [6.41]--执行任务切换.mp4
│      [6.42]--通过系统调用获取屏幕上可用的显示行坐标.mp4
│      [6.43]--通过系统调用获取当前时间.mp4
│      [6.44]--在外壳任务中显示当前时间.mp4
│      [6.45]--用户任务的结构和功能.mp4
│      [6.46]--当前任务标识的获取和用户程序例程库的介绍.mp4
│      [6.47]--将64位二进制数转换为十进制字符串.mp4
│      [6.48]--在每一轮相加中将结果和加数转换为字符串.mp4
│      [6.49]--字符串的连接和显示.mp4
│      [6.4]--准备在GDT中安装新的描述符.mp4
│      [6.50]--用户任务的终止.mp4
│      [6.51]--任务切换频次对用户体验的影响.mp4
│      [6.5]--为快速系统调用安装段描述符.mp4
│      [6.6]--为快速系统调用准备段选择子.mp4
│      [6.7]--设置快速系统调用的入口点.mp4
│      [6.8]--快速系统调用时的RFLAGS和栈切换.mp4
│      [6.9]--动态内存分配和内核空间的分配策略.mp4
│      
├─{07}--多处理器和APIC的初始化
│      [7.10]--多处理器的初始化过程和MP规范.mp4
│      [7.11]--高级的配置和电源接口(ACPI)规范.mp4
│      [7.12]--本章代码清单.mp4
│      [7.13]--ACPI的数据结构和表.mp4
│      [7.14]--E820功能调用和内存地址范围结构.mp4
│      [7.15]--查询和保存物理地址映射数据.mp4
│      [7.16]--获取ACPI申领的物理内存地址范围.mp4
│      [7.17]--准备映射ACPI申领的内存.mp4
│      [7.18]--映射ACPI申领的内存到当前分页系统.mp4
│      [7.19]--根系统描述指针结构.mp4
│      [7.1]--多处理器环境概述.mp4
│      [7.20]--搜索根系统描述指针结构.mp4
│      [7.21]--系统描述表的层次结构和表头格式.mp4
│      [7.22]--扩展的系统描述表XSDT.mp4
│      [7.23]--通过XSDT搜索多APIC描述表MADT.mp4
│      [7.24]--根系统描述表RSDT.mp4
│      [7.25]--通过RSDT搜索多APIC描述表MADT.mp4
│      [7.26]--多APIC描述表MADT的格式.mp4
│      [7.27]--准备遍历中断控制器结构列表.mp4
│      [7.28]--从中断控制器结构内提取处理器和APIC信息.mp4
│      [7.29]--映射APIC地址.mp4
│      [7.2]--同时多线程和INTEL超线程技术.mp4
│      [7.30]--LocalAPIC定时器.mp4
│      [7.31]--LocalAPIC定时器的精度.mp4
│      [7.32]--APIC定时器的本地向量表寄存器及其设置.mp4
│      [7.33]--设置CMOSRTC以测量LocalAPIC定时器.mp4
│      [7.34]--测量LocalAPIC定时器在1ms内经历的时钟周期数.mp4
│      [7.35]--多处理器的中断机制之虚拟线模式.mp4
│      [7.36]--中断输入引脚LINT0的本地向量表寄存器.mp4
│      [7.37]--用LINT0的本地向量表寄存器屏蔽8259中断.mp4
│      [7.38]--I/OAPIC概述.mp4
│      [7.39]--I/OAPIC的I/O重定向表寄存器.mp4
│      [7.3]--高级可编程中断控制器APIC概述.mp4
│      [7.40]--用I/OAPIC投递的中断实施任务切换.mp4
│      [7.41]--使用8253/8254定时器中断切换任务.mp4
│      [7.42]--使用LocalAPIC定时器中断切换任务.mp4
│      [7.43]--逻辑目标模式下的中断目标判别机制.mp4
│      [7.44]--APIC中断的优先级及其相关的寄存器.mp4
│      [7.45]--APIC中断的接受机制.mp4
│      [7.46]--最低优先级模式的中断处理.mp4
│      [7.4]--中断引脚、中断类型和中断源.mp4
│      [7.5]--本地中断源和本地向量表.mp4
│      [7.6]--APIC的工作模式和APICID.mp4
│      [7.7]--组成LocalAPICID的处理器拓扑.mp4
│      [7.8]--LocalAPIC的地址映射.mp4
│      [7.9]--I/OAPIC的地址映射.mp4
│      
├─{08}--多处理器环境下的多任务管理和调度
│      [8.10]--本章对内核工具文件的修改.mp4
│      [8.11]--开始执行内核的初始化.mp4
│      [8.12]--处理器专属存储区(每CPU数据区).mp4
│      [8.13]--为自举处理器BSP分配专属存储区.mp4
│      [8.14]--用型号专属寄存器IA32_KERNEL_GS_BASE指向处理器.mp4
│      [8.15]--多处理器系统的初始化协议算法.mp4
│      [8.16]--本章的多处理器多任务调度方案.mp4
│      [8.17]--中断命令寄存器ICR.mp4
│      [8.18]--本章的AP初始化代码简介.mp4
│      [8.19]--将AP初始化代码传送到指定位置.mp4
│      [8.1]--多处理器环境下的多任务管理和调度.mp4
│      [8.1]--本章的目标和代码清单.mp4
│      [8.20]--向所有应用处理器广播SIPI消息.mp4
│      [8.21]--应用处理器AP的初始化:进入保护模式.mp4
│      [8.22]--应用处理器AP的初始化:进入64位模式.mp4
│      [8.23]--应用处理器AP的初始化:创建数据结构.mp4
│      [8.24]--应用处理器AP的初始化:初始化之后的处理器架构状态.mp4
│      [8.25]--应用处理器AP的初始化:用SWAPGS指令访问专属存储区.mp4
│      [8.26]--应用处理器AP的初始化:开启LocalAPIC并进入停机待命状态.mp4
│      [8.27]--自举处理器BSP:等待所有应用处理器完成初始化.mp4
│      [8.28]--自举处理器BSP:创建系统外壳任务并为其指定时间片.mp4
│      [8.29]--交换并相加指令XADD和无锁操作.mp4
│      [8.2]--高速缓存.mp4
│      [8.30]--自举处理器BSP:广播新任务认领消息并进入预定状态.mp4
│      [8.31]--新任务认领中断的处理过程.mp4
│      [8.32]--在任务链表中查找就绪任务.mp4
│      [8.33]--用比较并交换指令CMPXCHG以无锁方式操作链表节点.mp4
│      [8.34]--执行新任务:为新任务指定时间片.mp4
│      [8.35]--执行新任务:恢复任务的状态并开始执行.mp4
│      [8.36]--时间片到期中断的处理过程.mp4
│      [8.37]--处理器专属存储区的必要性.mp4
│      [8.38]--外壳任务的执行流程.mp4
│      [8.39]--用户任务的执行流程.mp4
│      [8.3]--单处理器环境下的数据竞争.mp4
│      [8.40]--任务的终止.mp4
│      [8.4]--多处理器环境下的数据竞争.mp4
│      [8.5]--原子操作.mp4
│      [8.6]--锁和自旋锁.mp4
│      [8.7]--分支预测和PAUSE指令.mp4
│      [8.8]--宏定义和宏扩展.mp4
│      [8.9]--互斥锁的一般原理.mp4
│      
├─{09}--多处理器环境下的多线程管理和调度
│      [9.10]--创建新线程:创建线程控制块TCB和栈.mp4
│      [9.11]--创建新线程:例程返回和结束线程的区别.mp4
│      [9.12]--创建新线程:如何用RET指令结束线程.mp4
│      [9.13]--创建新线程:在栈中构造结束线程的栈帧.mp4
│      [9.14]--创建新线程:将TCB添加到当前任务的TCB链表.mp4
│      [9.15]--线程的执行:动态内存分配.mp4
│      [9.16]--线程的执行:在栈中保存所有缓冲区的线性地址.mp4
│      [9.17]--线程的执行:字符串的生成、连接和打印.mp4
│      [9.18]--线程的结束和任务的终止.mp4
│      [9.1]--任务(进程)和线程.mp4
│      [9.2]--任务控制块PCB和线程控制块TCB.mp4
│      [9.3]--任务及其主线程的创建.mp4
│      [9.4]--新线程认领中断的处理过程.mp4
│      [9.5]--查找就绪状态的线程.mp4
│      [9.6]--让处理器执行指定的线程.mp4
│      [9.7]--时间片到期中断的处理过程.mp4
│      [9.8]--系统外壳任务及其主线程的执行.mp4
│      [9.9]--准备创建新的线程.mp4
│      
└─{10}--数据竞争和互斥锁
        [10.1]--本章内容提要.mp4
        [10.2]--线程休眠及其实现机制.mp4
        [10.3]--执行线程休眠的系统调用.mp4



购买主题 本主题需向作者支付 60 断点币 才能浏览

0

主题

18

回帖

14

积分

新手上路

积分
14
发表于 4 天前 | 显示全部楼层

回帖奖励 +10 断点币

感谢分享非常好教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|断点社区 |网站地图

GMT+8, 2025-5-26 04:39 , Processed in 0.109938 second(s), 26 queries , Yac On.

Powered by XiunoBBS

Copyright © 2001-2025, 断点社区.

快速回复 返回顶部 返回列表