操作系统的基本特征

1 进程的三态模型、五态模型、七态模型

  1. 创建
  2. 就绪
  3. 执行
  4. 阻塞
  5. 终止
  6. 静止就绪
  7. 静止阻塞

2 进程同步的原则与操作

  1. 同步的原因两种制约关系
    1. 直接制约关系
    2. 简介制约关系
  2. 同步的四大原则
    1. 空闲让进
    2. 忙着等待
    3. 有限等待
    4. 让权等待
  3. 同步的实现方式

3 进程通信的方式

  • 基础进程通信机制
    • 条件变量、信号量、管程
  • 共享内存通信机制
    • 通过信号量控制共享内存。
  • 消息传递通信机制
    • IPC消息队列
  • 管道文件通信机制(文件进程通信机制)
    • PIPE管道
    • FIFO命名管道
  • 网络进程通信机制
    • socket

4 同步异步、阻塞非阻塞:定义及实现

  1. 同步通信
  2. 异步通信
  3. 阻塞通信
  4. 非阻塞通信

5 进程与线程的关系

  1. 进程:资源分配的基本单位
  2. 线程:系统调用的基本单位

6 处理机调度算法

  1. 作业调度算法
    1. FIFS
    2. SJB
    3. 优先权调度
    4. 时间片轮转
    5. 分级调度
    6. 彩票调度
  2. 进程调度算法
    1. FIFS
    2. SJB
    3. SRTN
    4. 优先权调度
    5. 时间片轮转
    6. 分级调度
  3. 实时调度
    1. 最低松弛优先
    2. 最早截止优先

7 死锁的原因和解决

  1. 原因
    1. 互斥资源
    2. 占有等待
    3. 循环等待
    4. 不可抢占
  2. 方法
    1. 预防
    2. 避免
    3. 检测
    4. 破坏

8 多级存储结构

  1. 寄存器
  2. 高速缓存
  3. 内存
  4. 磁盘缓存
  5. 磁盘
  6. 可移动存储介质

9 程序的装入链接

  1. 绝对装入
  2. 静态重定位装入
  3. 动态重定位装入
  4. 静态链接
  5. 动态链接

10 连续分配分区算法

  1. 首次适应算法
  2. 循环首次适应算法
  3. 最佳适应算法
  4. 最坏适应算法
  5. 快速适应算法

11 页面分配置换算法

  1. OPT
  2. FIFO
  3. LRU
  4. LFU
  5. NRU
  6. clock

12 分页分段地址变换结构

  1. 页表
  2. 段表
  3. 段页表

13 IO方式

  1. 轮训
  2. 中断
  3. DMA

14 中断的定义和作用

  1. 外中断
  2. 内中断

15 五种IO模型和epoll机制

调用顺序:

1
2
3
4
5
int epoll_create(int size);

int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event);

int epoll_wait(int epfd, struct epoll_event *events,int maxevents, int timeout);
  1. 首先创建一个epoll对象,
  2. 然后使用epoll_ctl对这个对象进行操作,把需要监控的描述添加进去,这些描述如将会以epoll_event结构体的形式组成一颗红黑树,
  3. 接着阻塞在epoll_wait,进入大循环,当某个fd上有事件发生时,内核将会把其对应的结构体放入到一个链表中,返回有事件发生的链表。

16 终极三连问

  1. 进程/线程的同步和通信原理、
  2. 进程/线程的同步和通信代码实现(并行编程)、
  3. 设备IO的实现原理、
  4. 设备IO的代码实现、
  5. 网络通信的基本原理、
  6. 网络通信的代码实现(socket编程)(网络编程)、