【操作系统】C1&2 Introduction 简介
目录
操作系统的重要性
为什么要有操作系统嘞?—— 因为要处理计算机系统的各种复杂性。
计算机系统十分之复杂,如果让类似于我这样的小喽喽们直接面对复杂的硬件,估计也不会有什么网瘾少年了。这个时候,就需要操作系统来大显身手了。
The Operating System as an Extended Machine, turns ugly hardware into beautiful abstractions.
操作系统作给硬件做了一件美丽的外衣,使得编程和使用更加方便和安全。
操作系统的位置
在应用程序和“裸”的硬件之间。
操作系统的定义与作用
目前操作系统没有一个普遍接受的定义。
Silerschatz and Gavin——“An OS is Similar to a government”
从位置上看,它对于上面的应用程序来讲,是一个扩展机,应用程序就认为操作系统就是一个理想的机器,要什么给什么; 而它对于下面的硬件来讲,是各种资源的管理者,负责分配、协调、解决冲突、避免错误、解决问题。
操作系统的组成
- Process Management 进程管理
- Main-Memory Management 主存管理
- Secondary-Storage Management 辅存管理
- File Management 文件管理
- I/O System management I/O系统管理
- User Interfaces 用户交互(CLI 命令行 / GUI 图形界面 / batch)
- Networking 网络处理
- Protection System 保护系统
操作系统提供的服务
- User interface CLI/GUI/batch
- Program execution 程序执行
- I/O operations I/O 操作
- File system manipulation 文件系统操作
- Communications 通信(进程间交换信息)
- Error detection & recovery 异常检测与恢复
- Resource allocation 资源分配
- Accounting 记账(跟踪记录用户对资源的使用)
- Protection 保护(确保所有对系统资源的访问均在控制中)
如何使用操作系统提供的服务——系统调用、API
Transitions from user mode to kernel mode: System Calls, Interrupts, Other exceptions
Computer Startup 计算机启动
开机或重新启动时加载引导程序(bootstrap program)
——通常存储在ROM或EPROM中,称为固件(firmware)
——初始化系统的所有方面
——加载操作系统内核(kernel)并开始执行
“The one program running at all times on the computer” is the kernel.
操作系统的设计目标
- (向上)用户:方便使用,易于学习,可靠,安全,快
- (向下)系统:便于设计、实现、维护,灵活,可靠,无误差,高效
操作系统的特性
- concurrency 并发性
- sharing 共享性
- virtualization 虚拟性
- asynchronism 异步性
操作系统的历史与进化
操作系统的发展是由硬件的发展推动的
No OS->Simple Batch Systems->Batch System->Multiprogramming systems->Time sharing system->Modern System