第一章 计算机系统概述
一、操作系统基本概念
1.1 定义
1.2 特征
并发
(并行:指两个或多个事件在同一时刻同时发生)
共享
(并发性指计算机系统中同时存在中多个运行着的程序,共享性指系统中的资源可供内存中多个并发执行的进程共同使用)
虚拟
异步
并发和共享互为存在条件。没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征
1.3 目标和功能
1.作为计算机系统资源的管理者
- 处理机管理
- 存储器管理
- 文件管理
- 设备管理
2.作为用户与计算机硬件系统之间的接口
- 命令接口(分为联机命令接口(交互式命令接口),脱机命令接口(批处理命令接口))
- 程序接口(由一组系统调用(也成广义指令)组成
3.实现对计算机资源的扩充
二、操作系统发展分类
手工操作阶段
批处理阶段
分时操作系统
实时操作系统
其他:网络操作系统、分布式计算机系统、个人操作系统(目前最广泛Windows、Linux…)
三、操作系统运行环境
3.1 运行机制
内核程序和应用程序:我们普通程序员写的程序就是“应用程序”。由很多内核程序组成了“操作系统内核”,或简称“内核(Kernel)” 内核是操作系统最重要最核心的部分,也是最接近硬件的部分。甚至可以说,一个操作系统只要有内核就够了。内核程序是应用程序的管理者。
特权指令:不允许用户直接使用的指令,如I/O指令、置中断指令、存取用于内存保护的寄存器、送程序状态字到程序状态字寄存器等指令。
非特权指令:允许用户直接使用的指令,不能直接访问系统中的软硬件资源,仅限于访问用户的地址空间,防止用户程序对系统造成破坏。
内核态和用户态:
内核态用户态的切换:
总结:
3.2 中断与异常
中断的作用:
中断的分类:
基本原理:不同的中断信号,需要用不同的中断处理程序来处理。当CPU检测到中断信号后,会根据中断信号的类型去查询“中断向量表”,以此来找到相应的中断处理程序在内存中的存放位置。
总结:
3.3 系统调用
定义:
按系统调用功能分类:
过程:
总结:
四、操作系统结构
操作系统结构图:
内核:
操作系统内核需要运行在内核态,操作系统的非内核功能运行在用户态
大内核与微内核:
总结:
不同的体系结构:
五、操作系统引导
指计算机利用CPU运行特定程序,通过程序识别硬盘,识别硬盘分区,识别硬盘分区上的操作系统,最后通过程序启动操作系统,一环扣一环完成上述过程。
常见引导过程:
- 激活CPU
- 硬件自检
- 加载带有操作系统的硬盘
- 加载主引导记录MBR
- 扫描硬盘分区表
- 加载分区引导记录PBR
- 加载启动管理器
- 加载操作系统
六、虚拟机
虚拟机:使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器(Virtual Machine, VM),每个虚拟机器都 可以独立运行一个操作系统。同义术语:虚拟机管理程序/虚拟机监控程序/Virtual Machine Monitor/Hypervisor
两类VMM:
主要参考:王道考研课程
后续会持续更新考研408部分的学习笔记,欢迎关注。
github仓库(含所有相关源码):408数据结构笔记