许式伟的架构课

抽象 + 分层

基础平台

操作系统

  • 软件治理
  • 基础编程接口

kernel

  • 存储管理
  • IO 管理
  • 进程管理
  • 网络管理
  • 安全管理

内存管理

虚拟内存 + 缺页中断

虚拟内存模式下,整个内存空间被分成很多个连续的内存页。

syscall

.

动态库

  • 浮动地址
  • 导出函数表

解析架构

  • 需求
    • 需求的稳定点, 系统的核心价值
    • 需求的变化点, 开放性设计
  • 规格

基础计算机

冯 诺伊曼架构

BIOS

  • 存储设备的驱动程序,用以识别常规的外置存储设备,比如硬盘、光驱、U 盘。
  • 基础外部设备的驱动程序,比如键盘、鼠标、显示器。
  • 设备和启动配置的基础管理能力。
  • 支持执行外置存储中引导区的机器代码程序。
  • 跳转到外置存储引导区的固定地址,把执行权交给该地址上的引导程序。

需求

  • 多个软件如何同时运行(多任务的需求)?
  • 多个软件如何共同使用计算机上的存储空间(内存管理、文件系统的需求)?
  • 多个软件如何共同使用同一个外部设备(设备管理的需求)?
  • 多个软件如何相互通讯,如何进行数据交换(进程间通讯、共享内存的需求)?
  • 病毒、恶意软件如何治理(安全管理的需求)?

桌面开发

服务端开发

服务治理

软件工程

questions

  • 硬盘存储其中一个文件他是怎么存放的数据块和元数据是怎么结构,inode 是什么,还有数据和元数据的索引表,甚至作为文件系统 ext3 的多层表索引和 12 个直接链接,一个单层,和多层索引等等都没说,文件系统的整体架构,特别是到底怎么优化等等也没说,还有虚拟内存,具体程序段怎么映射到物理内存,空余内存怎么管理,虚链表,对应的两难性能问题怎么解决?
Licensed under CC BY-NC-SA 4.0
Get Things Done
Built with Hugo
Theme Stack designed by Jimmy