-
Notifications
You must be signed in to change notification settings - Fork 43
Home
May the source be with you edited this page Oct 30, 2020
·
6 revisions
《操作系统没那么难》(上)
- 导读,如何一步步实践操作系统
- 什么是操作系统
- 为什么需要操作系统
- 微内核和宏内核,伤友情的话题
- 为什么写微内核
- 准备工作之软件环境搭建
- 环境准备之硬件环境搭建
- 第1套代码,没什么比第一次顺利运行更让人开心和鼓舞的了
- 对第一套代码的解读,初步了解ARM指令和树莓派
- 不要犹豫,汇编其实很简单
- C语言的汇编嵌套,以及参数传递的机制
- 首次解读设备接口:串口
- ARM CPU的基本知识,首次解读寄存器
- 第2套代码,鼓起勇气往深水去前进一点:中断
- 熟悉树莓派的中断
- 中断处理的基本方法
- 操作系统的心跳:时钟,赋予它生命
- 第3套代码,系上安全带:内存和地址
- 虚拟地址的意义
- 虚拟地址的实现
- ARM CPU的运行状态和权限
- 一次奇妙的时空穿梭:从内核态穿越到用户态
- 奇妙穿越发生了什么
- 第4套代码,操作系统的第一个孩子,首个用户态进程
- 什么是进程
- 进程的基本要素
- 进程的是如何创建的
- 第5套代码,时空旅行的虫洞:系统调用
- 系统调用的意义
- 系统调用到底发生了什么
- 中断和系统调用的相同和不同
- 第6套代码,操作系统的上帝之手:进程调度
- 进程的运行状态
- 时钟中断和进程调度的关系
- 进程调度的实现方法
- 第7套代码,微内核操作系统的精华:进程间通信
- 进程间通信实现方法
- 进程间数据交换的效率
- 微内核,通信即服务
- 第8套代码,生命在繁殖:fork
- 进程裂变繁殖fork
- 分道扬镳的父子关系
- fork的实现方法
- (待续)