第96篇
极客时间《许式伟的架构课》课程笔记。
背景
- 编程语言诞生后,软件越来越多,从而出现软件治理的需求
- 多任务需求:多个软件如何同时运行?
- 内存管理、文件系统需求:多个软件如何共同使用存储空间?
- 设备管理需求:多个软件如何共同使用一个外部设备?
- 进程间通讯、共享内存需求:多个软件如何相互通讯,如何进行数据交换?
- 安全管理需求:病毒、恶意软件如何治理?
- 操作系统就像一个大法官,制定规则并据此约束所有软件的行为
操作系统的启动过程
操作系统如何获得执行权:计算机主板ROM上的启动程序(BIOS)交给它
- BIOS包含以下内容:
- 存储设备的驱动程序,用以识别常规的外置存储设备,比如硬盘、光驱、U 盘
- 基础外部设备的驱动程序,比如键盘、鼠标、显示器
- 设备和启动配置的基础管理能力
- 支持执行外置存储中引导区的机器代码程序
- 跳转到外置存储引导区的固定地址,把执行权交给该地址上的引导程序
操作系统的需求演进
客户价值维度
- 解决软件治理问题:进程管理、存储管理、输入设备管理、输出设备管理、网络管理、安全管理
- 解决基础编程接口问题:简化软件开发、提供多软件共同运行环境
商业价值维度
- 操作系统是基础刚需软件:没有操作系统的计算机仅仅是硬件的组合,无法发挥最大能力
- 操作系统时核心流量入口:占领了操作系统,就占有了用户,想推什么内容给用户都很容易,通过预装软件方式获利
现代操作系统
- 苹果的iOS操作系统构建了新的商业闭环:账号(Account)、支付(Pay)、应用市场(AppStore),可以称为收税模式
- 帐号是前提,没有帐号就没有支付系统。应用市场实现应用分发,支付承载收税模式,下载应用或应用内购买都通过它实现
- 除了iOS和android,还有web操作系统如微信小程序,都实现了“帐号-支付-应用市场”的商业闭环
操作系统的边界
- 操作系统与硬件的关系
- PC时代,操作系统厂商(微软)并不生产硬件,PC兼容机对DOS/Windows的发展有很重要的支撑意义
- 移动时代,iOS操作系统引入的收税模式受益方是硬件厂商,而Android是免费的,手机厂商不会把支付系统交给Google,Google服务也会被手机厂商逐步替换
- 操作系统与浏览器的关系
- PC时期,操作系统是以管理本地软件和内容为主(对内),浏览器是以管理互联网内容为主(对外)
- 但目前这个边界正在逐渐变得模糊,应用市场就是典型的互联网内容,浏览器里也有网址导航、搜索引擎以及web应用市场
- 核心问题:操作系统、浏览器以及搜索引擎的关系是什么?移动时代浏览器和操作系统的关系如何相处?
网友评论