• 基本特征
    • 并发、并行
      • 并发是指宏观上在一段时间内能同时运行多个程序,
      • 并行是同一时刻能运行多个指令。
      • 并行需要硬件支持,如多流水线,多核处理器或者分布式计算系统
      • 操作系统通过引入进程和线程,使得程序能够并发执行。
    • 共享
      • 共享是指系统中的资源可以被多个并发进程同时使用。
      • 两种共享方式:互斥共享,同时共享
      • 互斥共享的资源称为临界资源,例如打印机在同一时刻内只允许一个进程访问,需要用同步机制来实现互斥访问。
    • 虚拟
      • 虚拟技术把一个物理实体转化为多个逻辑实体
      • 主要有两种虚拟技术:时分复用技术,空分复用技术。
      • 时分复用:多个进程能在同一个处理器上并发执行就使用了时分复用技术。让每个进程轮流占用处理器,每次只执行一个小的时间片并快速切换。
      • 空分复用:虚拟内存使用了空分复用技术,它将物理内存抽象为了地址空间,每个进程都有各自的地址空间。地址空间的页被映射到物理内存,地址空间的页并不需要全部在物理内存中,当使用到一个没有在物理内存的页时,执行页面置换算法,将该页面置换到内存中。
    • 异步
      • 异步指进程不是一次性执行完毕而是走走停停以一种不可知的速度前进。
  • 基本功能
    • 进程管理
      • 进程控制,进程同步,进程通信,死锁处理,处理机调度等。
    • 内存管理
      • 内存分配,地址映射,内存保护与共享,虚拟内存等
    • 文件管理
      • 文件存储空间的管理,目录管理,文件读写管理和保护等
    • 设备管理
      • 完成用户的I/O请求,方便用户使用各种设备,并提高设备利用率。
      • 主要包括缓冲管理,设备分配,设备处理,虚拟设备等
  • 系统调用
    • 如果一个进程在用户态需要使用内核态的功能,就进行调用从而陷入内核,由操作系统代为完成。
    •  

 

  • Linux的系统调用主要有以下这些:
    • 进程控制:fork,exit,wait;
    • 进程通信:pipe,shmget,mmap;
    • 文件操作:open,read,write;
    • 设备管理:ioctl,read;write;
    • 信息维护:getpid,alarm,sleep
    • 安全:chmod,umark,chown;
  • 大内核和微内核
    • 大内核
      • 大内核是将操作系统功能作为一个紧密的结合整体放到内核中
    • 微内核
      • 由于操作系统不断复杂,因此将一部分操作系统功能移出内核,从而降低内核的复杂性,移出的部分根据分层原则划分成若干服务,相互独立。
      • 在微内核结构下,操作系统被划分成小的,定义良好的模块,只有微内核这一个模块运行在内核态,其余模块运行在用户态。
      • 因为要频繁的在用户态和内核态之间切换,所以会有一定的性能损失。
  • 中断分类
    • 外中断
      • 由CPU执行指令以外的事件引起,如I/O完成中断,表示设备的输入输出处理已经完成,处理器能够发送下一个输入输出请求,此外还有时钟中断,控制台中断等。
    • 异常
      • 由CPU执行指令的内部事件引起,如非法操作码,地址越界,算术溢出等。
    • 陷入
      • 在用户程序中使用系统调用