linux系统编程
1.文件是对IO的抽象
一切设备皆文件
2.虚拟储存器是对主存和I/O设备的抽象表示
3.进场是对处理器,主存和I/O设备的抽象表示
4.信号是一种异步通知事件
5.进程上下文切换
6.缺页中断
cpu MMU+LINUX=======》逻辑内存空间===》物理内存空间
1.内存的段式管理
2.页式管理
7.tcp/ip协议栈放到内核里面,为什么?
因为tcp/ip协议栈发包和收包需要大量的操作网卡,而且如果把tcp/ip放到用户态,那么tcp/ip从用户太陷入到内核态需要大量的产生中断,这样整个降低了操作系统的性能
1>当网卡来了数据以后,操作系统从网卡的寄存器中拷贝数据到LINUX内核,拷完数据以后缓存下来,再通过poll机制或者epoll机制或者中断机制,告诉上层应用,来说数据你来拷贝把,这是一种机制
2>另外一种:上层应用程序可以轮询的去查,把数据从内核空间拷贝到用户空间
8.从程序角度系统调用是陷入内核的唯一方法
9.从系统的角度:硬件中断和软中断也是能陷入内核
10.变量本质是一个门牌号,就是一个地址,是一个逻辑地址
11.cpu运行在x86平台有两种运行模式,一种是保护模式,一种是实模式
12.
13.VFS虚拟文件系统
14.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗