一、为什么要用操作系统
从裸机到操作系统是必然发展路线
(1)发展阶段1:裸机并且全部代码自写
(2)发展阶段2:裸机但调用库函数
(3)发展阶段3:裸机加状态机实现简单的多任务
(4)发展阶段4:上简单操作系统:RTOS(ucos、LiteoS)
(5)发展阶段5:上复杂操作系统:Linux、Windows、Android
二、用操作系统的优势
(1)轻松实现多任务
(2)轻松借用很多第三方组件功能
(3)更好实现可移植性
(4)减少项目开发复杂度
(5)代价就是操作系统自身的开销(启动时间、资源消耗、学习投入)
三、操作系统的构成
1、操作系统的核心组件
(1)任务创建和管理调度系统
(2)内存管理(计算机系统的2大核心资源:CPU算力资源、内存资源)
(3)任务间通信机制(沟通、协作)
2、操作系统的外围组件
(1)HAL和硬件驱动
(2)网络通信和协议栈
(3)文件系统
(4)GUI系统
(5)其他第三方组件
四、总结:究竟什么是操作系统
(1)操作系统本身是一套软件系统
(2)操作系统负责内部管理而非外部业务
(3)操作系统的本质是代码复用和功能复用
(4)基于操作系统来设计项目是一种思路和技术观
(5)操作系统自身的设计是一门学问
(6)学习操作系统的直接目的:使用操作系统来做项目做产品
(7)学习操作系统源码的目的:更好的使用操作系统,改造甚至自己写新的操作系统