03-Linux 原理
2022-03-22 13:58:00 2 举报
AI智能生成
Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了UNIX以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。
作者其他创作
大纲/内容
为什么要有虚拟地址空间呢?
虚拟地址访问内存有以下优势?
逻辑(虚拟)地址和物理地址?
物理地址、逻辑地址、有效地址、线性地址、虚拟地址的区别?
基本概念
操作系统的内存管理主要是做什么?
连续分配管理方式
页式管理
段页式管理
非连续分配管理方式
常见的几种内存管理机制?
是什么?
页表管理
段式管理
分页机制和分段机制的共同点和区别
内存管理
请求分页与分页存储管理,两者有何不同?
局部性原理?
为什么需要?
什么是交换空间?
请求分页存储管理
请求分段存储管理
请求段页式存储管理
怎么实现的?
分支主题
页面映射原理
MMU
TLB
快表
大页
多级页表
超链接
分页式管理(CPU寻址过程)
LRU 怎么实现?
分类
页面置换算法
虚拟内存
虚拟地址空间划分
内存段分布
内存分配与回收
进程的虚拟内存空间分布
如何查看内存使用情况
2、内存
案例:网卡接收数据包
硬中断、软中断
有哪些会产生中断?
中断处理过程?
中断和轮询有什么区别?
中断
为什么需要系统调用?
大致分类
系统调用的过程有没有发生 CPU 上下文的切换呢
系统调用
27.什么是用户态和内核态?
28.用户态和内核态是如何切换的?
程序在开始运行的时候,内核态和用户态都发生了什么
内核空间 和用户空间
cache line
程序局部性
缓存缺失
伪共享
CPU 缓存结构
写回(Write Back)和写直达(Write Through)。
写更新(Write Update)和写无效(Write Invalidate)
写分配(Write Allocate)和写不分配(Not Write Allocate)
缓存写策略
总线嗅探
基于“写回”策略的缓存一致性协议
缓存一致性问题
缓存一致性 MESI
内存屏障
CPU缓存结构
3、其他
进程组成
进程是什么?
Z
D
R
实战
进程有哪些状态?
进程实现
一个进程最多可以创建多少线程
进程内存划分
进程层次结构
操作系统是怎么组织管理进程的?
创建做了什么?
什么时候创建?
Redis 的Fock 子进程进行AOF重写
写时复制
创建进程
撤销进程
阻塞唤醒进程
操作系统对进程进行切换的过程
切换进程
进程控制
进程概念
为什么需要线程?
线程组成
协程与线程的区别?
进程和线程的区别?
线程的分类?
线程状态
线程的一些系统调用函数
多线程
劣势
优势
在用户空间实现线程
优劣势
在内核空间实现
混合实现
线程实现
初始状态、可运行状态、运行状态、休眠状态和终止状态。
Java中
线程有哪些状态?
线程
什么是进程通信
对比分析
管道的局限:
管道的实质
匿名管道
和匿名比较
有名管道(FIFO)
管道
信号生命周期和处理流程
Linux系统中常用信号
信号
原理
特性
是什么
消息队列
共享内存
信号量与普通整型变量的区别:
信号量和互斥量区别?
信号量
Socket
进程间的通信方式,有哪些通信是不可靠的;为什么是不可靠的
一些问题
进程间通信方式有哪些?
进程通信
临界区的访问规则
临界区/进入区 离开区
临界区
事件
互斥量
子主题 1
比较
线程同步的方式有哪些?
1、屏蔽中断
指令原理
2、TSL指令
3、SWAP指令
忙等互斥
用信号量实现互斥访问?
怎么用?
信号量操作太麻烦 -> 管程
管程
怎么实现同步的?
为什么要?
消息传递
为什么?
屏障
进程间同步的方式有哪些?
3.并发和并行有什么区别?
进程同步
什么是进程调度?
CFS
调度算法
进程调度
如何处理死锁问题?
产生死锁的必要条件
概念
银行家算法
死锁避免
死锁预防
鸵鸟策略
死锁破坏/解除
死锁的检测
其他问题
死锁
协程是如何实现高并发的?
协程的切换是如何完成的呢
协程
1、进程
文件系统是怎么工作的?
硬链接和软链接
write()写文件底层原理
在哪些场景下会失效?-大文件
大文件解决办法-异步IO
为什么这样做呢?
PageCache,磁盘高速缓存
DMA
sendfile
mmap
使用 page cache 的 zero copy:
零拷贝技术原理
零拷贝
磁盘IO
4、文件
的重点看就好(校招)
阅读建议
Linux New
0 条评论
下一页