引言:本书是一日本工程师所著,Linux系统讲的通俗易懂,属于很好的入门书籍。本书适合初级工程师入门,中级工程师查漏补缺,高级工程师培训参考教材使用。
第一章 计算机系统概要
第二章 用户模式实现的功能
程序执行加载顺序:从外部存储设备加载到内存,从内存加载到cpu缓存(L1/L2/L3),从cpu缓存加载到寄存器中执行。
进程与OS的关系
系统调用的种类主要有:
进程管理(创建、删除)
内存管理(申请、回收)
文件系统操作
设备操作(文件操作)
进程间通信
网络管理
第三章 进程管理
新建一个进行运行程序一般采用fork and exec的过程。
父进程调用fork()创建子进程,子进程复制父进程的内存(准确的说只是复制父进程的页表),然后调用exec()运行新的程序,此时会把新的程序加载到子进程的内存中。下图是通过bash,调用echo输出信息的流程。
写时复制,fork进程的时候子进程只是复制了父进程的页表,在子进程对内存进行写入操作的时候才开始进行内存复制然后修改。
linux可执行文件遵循elf(Executable and Linkable Format)格式,程序按照elf中的信息加载到内存中指定的位置,然后从入口地址开始执行。