教材和授课
教材:《现代操作系统:原理与实现》,
作者:上海交通大学陈海波教授、夏虞斌副教授。其中陈海波教授是操作系统安全专家,被赞誉为华为鸿蒙OS之父。
出版时间:机械工业出版社2020年出版
授课方式:不侧重具体代码和底层设计,重点在于理解把握操作系统,及其安全问题。
本课程的讲解,参考陈海波教授的PPT。
认识操作系统
什么是操作系统
硬件和应用之间的软件层,功能是服务应用、管理应用。
操作系统是管理硬件资源、控制程序运行、改善人机界面、为应用软件提供支持的一种系统软件。 【计算机百科全书(第2版)】
服务:为应用提供计算资源的抽象(CPU/内存/IO设备)、线程同步(如spinlock)、进程通信(如lookback设备)。
管理:应用的生命周期、分配计算资源、安全与隔离。
应用与操作系统的交互:系统调用
系统调用:应用调用操作系统的一种机制,通过类似调用普通函数的方式,实现应用不能实现的功能。
OS遇到问题
流氓应用占用所有计算机资源。一个进程无限fork()导致死机…
为什么操作系统比较难/有意思?
深入事情本质:直接管理硬件细节。
锻炼系统架构能力:将复杂问题进行抽象与化简,体现M.A.L.H原则。
各种问题的交互与相互影响:open();…fork()。
挑战和机遇:
新的硬件种类:自动驾驶、无人机、各种iot设备等。
硬件互联愈加复杂:如AirDrop、摄像头等。
新的应用和新的硬件呼吁新的操作系统。
两个Linux操作系统的神奇漏洞:
CVE-2015-8370,在输入用户名的界面连续按28次Backspace,可拿shell。
CVE-2016-4484,按Enter键70秒获得root权限。
下堂课
硬件结构与ARM64的xx接口。