linux操作系统总体的可分为四大部分:
--------------------------
| 应用层 |
--------------------------
| 系统调用 |
--------------------------
| 内核 |
--------------------------
| 硬件 |
--------------------------
内核帮我们做了很多的事情,让我们轻松的实现自己想要的功能,而不必去关心那些复杂的细节处理。比如编写socket程序发送和接受数据,只要能发出去收的到就ok了,而不必去关系数据在协议栈中的层层封装解封装,通过网卡如何发送接收。但是涉及到网络开发,则必须进入的内核之中,深入的理解内核中报文处理流程。
内核之中主要包含:
进程调度(schedule)、
内存管理(memory management)、
进程间通信(IPC)、
虚拟文件系统(virtual file system)、
网络协议(net)、
驱动程序(driver)