操作系统【47.2 小时】【目录】
资料
100_7_临界区.mp4
101_8_硬件级别:禁止中断和原子操作.mp4
-
加好友后发链接可单买(不做慈善、墨迹者勿加)
-
微信号
11816033
添加微信
102_10_CAS 的 ABA 问题.mp4
103_11_自旋锁.mp4
104_13_自旋锁饥饿问题及其解决方案.mp4
105_14_自旋锁浪费 CPU 的问题及其解决方案.mp4
106_15_阻塞互斥锁 vs 自旋锁.mp4
107_16_公平锁、非公平锁以及读写锁.mp4
108_17_多个没有关联的资源的保护.mp4
109_18_多个有关联的资源的保护.mp4
10_9_ 一个运行的程序需要多大内存?.mp4
110_19_细化锁的粒度可以提高并发性能.mp4
111_21_活锁及其避免方法.mp4
112_22_信号量(Semaphore).mp4
113_23_信号量的作用.mp4
114_24_生产者消费者模式.mp4
115_25_苹果橙子问题.mp4
116_26_管程(monitor):并发编程的金钥匙.mp4
117_27_管程实现的生产者消费者.mp4
118_28_条件变量的实现.mp4
119_29_管程实现生产者消费代码实现.mp4
11_1_ 课程内容.mp4
120_1_什么是缓存一致性_.mp4
121_2_CPU 核心之间数据如何传播.mp4
122_3_本地读写和总线读写.mp4
123_4_MSI 缓存一致性协议(上).mp4
124_5_MSI 缓存一致性协议(下).mp4
125_6_MESI 缓存一致性协议.mp4
126_7_MESI 协议具体示例.mp4
127_8_总线仲裁.mp4
128_9_x86 MESIF 缓存一致性协议.mp4
129_10_Store Buffer.mp4
12_2_ 物理寻址 – 最简单寻址方式.mp4
130_11_写内存屏障(上).mp4
131_12_写内存屏障(下).mp4
132_13_失效队列.mp4
133_14_读内存屏障.mp4
134_15_内屏屏障总结.mp4
135_16_lock 前缀指令作为内存屏障.mp4
136_17_用户态插入内存屏障.mp4
137_1_文件系统课程内容.mp4
138_2_拆解机械硬盘 (HDD).mp4
139_3_寻道、旋转和传送时间.mp4
13_3_ 16 位 CPU 如何寻址 20 位内存地址.mp4
140_4_顺序读写和随机读写.mp4
141_5_RAID(磁盘阵列).mp4
142_6_固态硬盘(SSD).mp4
143_7_文件中的数据块.mp4
144_8_如何分配数据块给文件?.mp4
145_9_文件系统(Linux 一切皆文件).mp4
146_10_新增磁盘.mp4
147_11_磁盘分区.mp4
148_12_Centos 支持的文件系统.mp4
149_13_文件系统挂载.mp4
14_4_ 8086 处理器的分段寻址.mp4
150_14_文件系统挂载总结.mp4
151_1_文件读写路径课程内容.mp4
152_2_ext4 文件系统的硬盘布局.mp4
153_4_目录的组织.mp4
154_5_块组描述符表.mp4
155_6_基于 ext4 硬盘布局的文件读写流程准备.mp4
156_7_基于 ext4 创建文件目录的过程.mp4
157_8_基于 ext4 创建文件的过程.mp4
158_9_基于 ext4 读写文件的过程.mp4
159_10_虚拟文件系统的数据结构.mp4
15_5_ Linux 两种运行模式:实模式和保护模式.mp4
160_11_虚拟文件系统的操作接口.mp4
161_12_文件系统树.mp4
162_13_应用程序和 VFS 的交互.mp4
163_14_inode 和 dentry 缓存.mp4
164_15_open 文件打开流程.mp4
165_16_read 和 write 读写文件的流程.mp4
166_17_硬链接和软链接.mp4
167_1_页面缓存课程内容.mp4
168_2_页面缓存的抽象 address_space.mp4
169_3_address_space 中使用基数树维护缓存页.mp4
16_6_ 分段寻址可以被归纳位虚拟寻址.mp4
170_4_页面缓存的数据结构及其操作.mp4
171_5_带有页面缓存的文件读流程.mp4
172_6_带有页面缓存的文件写流程.mp4
173_7_再看内存映射的数据结构.mp4
174_8_再看内存映射文件的流程.mp4
175_9_再看缺页异常处理逻辑.mp4
176_10_按需调页.mp4
177_11_文件系统组件总结.mp4
178_1_匿名管道和命名管道.mp4
179_2_匿名管道的实现原理.mp4
17_7_ 虚拟寻址降低内存管理的复杂度.mp4
180_3_管道依赖的 pipefs 文件系统.mp4
181_4_匿名管道底层实现.mp4
182_5_命名管道底层实现.mp4
183_7_共享内存的底层原理_基于 tmpfs 文件系统.mp4
184_8_IPC 中的信号量.mp4
185_9_消息队列.mp4
18_9_ 多级页表 – 压缩页表占用内存的大小.mp4
19_10_ 多级分页如何进行地址转换.mp4
1_底层基础前置知识.html
20_11_ 64 位系统分页寻址总结.mp4
21_12_ 另一个高速缓存:TLB – 缓存页表.mp4
22_13_ 分页寻址 + TLB + CPU 高速缓存全流程.mp4
23_1_ 虚拟内存布局和物理内存模型内容.mp4
24_2_ 用户态虚拟内存布局.mp4
25_3_ 内存映射 (动态共享库).mp4
26_4_ 内存映射函数实现 mmap 和 mummap.mp4
27_5_ 内存映射区的管理.mp4
28_6_ 内核态虚拟内存布局(一).mp4
29_7_ 内核态虚拟内存布局(二).mp4
2_1_ C 程序的预处理、编译、汇编以及链接四个阶段.mp4
30_8_ 虚拟内存布局总结.mp4
31_9_ 内核页表和用户程序页表.mp4
32_10_ SMP 架构实现:UMA 和 NUMA.mp4
33_11_ 平坦内存模型.mp4
34_12_ 不连续内存模型.mp4
35_13_ 稀疏内存模型.mp4
36_14_缺页异常处理程序执行逻辑 – 用户态.mp4
37_1_内存分配课程内容.mp4
38_2_内存对齐.mp4
39_3_如何评估内存分配器的好坏.mp4
3_2_ 程序的链接阶段:符号解析.mp4
40_4_实现一个实际的分配器需要考虑的问题.mp4
41_5_内存分配器的数据结构 – 空闲链表数组.mp4
42_6_用户态内存分配和释放 – malloc 和 free.mp4
43_7_ptmalloc 中的分离空闲链表(bins)的组成.mp4
44_8_malloc 内存分配和释放流程.mp4
45_9_物理内存页帧的分配和释放.mp4
46_10_物理内存分配 – 伙伴系统.mp4
47_11_页面置换流程以及 LRU 页面置换算法.mp4
48_12_逆向映射.mp4
49_13_再看缺页异常处理程序处理逻辑.mp4
4_3_ 程序的链接阶段:重定位.mp4
50_14_slab 分配器之 slab 结构.mp4
51_15_slab 分配器分配和释放对象的流程.mp4
52_16_vmalloc 申请分配非连续物理内存.mp4
53_1_进程和程序的关系.mp4
54_2_进程运行时的 CPU 上下文.mp4
55_3_进程切换【时钟中断】.mp4
56_4_0 号进程、1 号进程以及 2 号进程.mp4
57_5_task_struct 数据结构总结.mp4
58_6_创建进程的过程 (fork 和 exec 系统调动).mp4
59_8_线程可以访问的三类数据.mp4
5_4_ 静态链接:链接静态库.mp4
60_9_线程创建的详细过程.mp4
61_10_用户级线程和内核级线程.mp4
62_11_内核线程.mp4
63_12_再来看 0、1、2 号进程.mp4
64_13_线程的状态.mp4
65_14_再次回顾进程和线程.mp4
66_15_进程和线程的串讲以及线程池.mp4
67_1_进程调度准备知识.mp4
68_2_FIFO、SJF 等调度算法(周转时间).mp4
69_3_RR 调度算法(响应时间).mp4
6_5_ ELF 文件格式之【可重定位目标文件】.mp4
70_4_CPU 资源和 IO 重叠以提高资源利用率.mp4
71_5_多级反馈队列(MLFQ).mp4
72_6_多级反馈队列(MLFQ)会产生的问题及其解决方案.mp4
73_7_Linux 任务调度算法的数据结构_实时任务.mp4
74_8_Linux 任务调度算法的数据结构_完全公平调度.mp4
75_9_多级调度队列数据结构实现.mp4
76_10_主动调度流程_pick_next_task.mp4
77_11_主动调度流程_切换用户态虚拟地址空间.mp4
78_12_主动调度流程_切换寄存器和内核栈.mp4
79_13_抢占调度流程.mp4
7_6_ ELF 【可重定位目标文件】格式详解.mp4
80_14_线程切换需不需要刷新 TLB 和 CPU 高速缓存?.mp4
81_1_什么是信号.mp4
82_2_信号发送需要的数据结构.mp4
83_3_信号处理需要的数据结构.mp4
84_4_信号发送和处理的总流程.mp4
85_5_系统调用时的信号处理.mp4
86_6_异步中断.mp4
87_7_同步中断以及异常.mp4
88_8_中断描述符表 (IDT).mp4
89_9_中断处理流程.mp4
8_7_ 【可重定位文件】每个 section 的具体位置.mp4
90_10_用户态和内核态产生异常.mp4
91_11_异步中断处理流程及其问题.mp4
92_12_硬中断和软中断.mp4
93_13_CPU 上下文、进程上下文以及中断上下文.mp4
94_1_内核代码是如何执行的?.mp4
95_2_中断的禁止和开启.mp4
96_3_用户态抢占和内核态抢占.mp4
97_4_抢占的禁止和开启.mp4
98_5_线程并发安全问题.mp4
99_6_导致线程不安全的原因.mp4
9_8_ ELF文件格式之【可执行目标文件】.mp4
