操作系统-概述

354 阅读3分钟

1.基本特征

  • 并发
    • 并发是指宏观上在一段时间内能同时运行多个程序,并行需要硬件支持,如多流水线,多核处理器或者分布式计算系统。
    • 并行则是指同一时刻能运行多个指令。操作系统通过引入进程和线程,使得程序能够并发运行。
  • 共享
    • 共享是指系统中的资源可以被多个并发线程共同使用。
    • 有两种共享方式:互斥共享同时共享
    • 互斥共享的资源称为临界资源,例如打印机等,在同一时刻只允许一个进程访问,需要用同步机制来实现互斥访问。
  • 虚拟
    • 虚拟技术指把一个物理实体转换为多个逻辑实体
    • 主要有两种虚拟技术:时间分复用技术和空间分复用技术
    • 多个线程能在同一个处理器上并发执行使用了时分复用技术,让每个进程轮流占用处理器,每次只执行一小个时间片并快速切换。
    • 虚拟内存使用了空间复用技术,它将物理内存抽象为地址空间,每个进程都有各自的地址空间。地址空间的页被映射到物理内存,地址空间的页并不需要全部在物理内存中,当使用到一个没有在物理内存的页时,执行页面置换算法,将该页换到内存中。
  • 异步
    • 异步指进程不是一次行执行完毕,而是走走停停,以不可知的速度向前推进。

2.基本功能

  • 进程管理
    • 进程控制、进程同步、进程通信、死锁处理、处理机调度等。
  • 内存管理
    • 内存分配、地址映射、内存保护和共享、虚拟内存等。
  • 文件管理
    • 文件存储空间的管理、目录管理、文件读写管理和保护等。
  • 设备管理
    • 完成用户的IO请求,方便用户使用各种设备,并提高设备的利用率。
    • 主要包括缓冲管理、设备分配、设备处理、虚拟设备等。

3.系统调用

如果一个进程在用户态需要使用内核态的功能,就进行系统调用从而进入内核,有操作系统完成

image.png

  • Linux系统调用主要有以下

image.png

4.宏内核和微内核

  • 宏内核
    • 宏内核是将操作系统功能作为一个紧密结合的整体放在内核
    • 由于各模块共享信息,因此有很高的性能。
  • 微内核
    • 由于操作系统不断复杂,因此将一部分操作系统功能移除内核,从而降低内核的复杂性。移除的部分根据分层的原则划分成若干服务,相互独立。
    • 在微内核结构下,操作系统被划分为小的、定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。
    • 因为需要频繁地在用户态和核心态之间切换,所以会有一定的性能损失。

image.png

5.中断分类

  • 外中断
    • 由CPU执行指令以外的事件引起的,如IO完成中断,表示设备输入/输出处理已经完成,处理器能够发送下一个输入/输出请求。此外还有时钟中断、控制台中断等。
  • 异常
    • 由CPU执行指令的内部时间引起,如非法操作码、地址越界、算术移除等。
  • 陷入
    • 在用户程序中使用系统调用