操作系统的基础知识和进程

1.操作系统的基础知识

# 操作系统的发展史

# 人机矛盾
   # CPU利用率低
# 磁带存储 + 批处理
   # 降低数据的读取时间
   # 提高cpu的利用率
# 多道操作系统 —— 在一个任务遇到IO的时候主动让出CPU
   # 数据隔离
   # 时空复用
   # 能够在一个任务遇到io操作的时候主动把cpu让出来,给其他的任务使用
       # 切换要不要占用时间 :要占用
       # 切换这件事是谁做的 :操作系统
# 分时操作系统 —— 给时间分片,让多个任务轮流使用CPU
   # 老教授 24h 没有IO
   # 研究生 5min 没有IO
   # 研究生 6min 没有IO
   # 短作业优先算法
   # 先来先服务算法
   # 时间分片
       # cpu的轮转
       # 每一个程序分配一个时间片
   # 要切换 要占用时间
   # 反而降低了cpu的利用率
   # 提高了用户体验
# 分时操作系统 + 多道操作系统 + 实时操作系统
   # 多个程序一起在计算机中执行
   # 一个程序如果遇到IO操作,切出去让出CPU
   # 一个程序没有遇到IO,但是时间片到时了,切出去让出CPU
# 网络操作系统
# 分布式操作系统

2.进程

# 进程 :
   # 运行中的程序
# 程序和进程之间的区别
   # 程序只是一个文件
   # 进程是这个文件被CPU运行起来了
# 进程 是计算机中最小的资源分配单位
# 在操作系统中的唯一标识符 :pid

# 操作系统调度进程的算法
   # 短作业优先
   # 先来先服务
   # 时间片轮转
   # 多级反馈算法

# 并行与并发
   # 并行
       # 两个程序 两个CPU 每个程序分别占用一个CPU自己执行自己的
           # 看起来是同时执行,实际在每一个时间点上都在各自执行着
   # 并发
       # 两个程序 一个cpu 每个程序交替的在一个cpu上执行
           # 看起来在同时执行,但是实际上仍然是串行

# 同步 烧水 吹头发
   # 正在烧水
   # 停下烧水这个动作   吹头发
   # 吹完头发之后继续烧水
# 异步 烧水 吹头发
   # 正在烧水
   # 吹头发 烧水也在继续
# 阻塞
   # cpu不工作
# 非阻塞
   # cpu工作

# 同步阻塞
   # conn.recv
   # socket 阻塞的tcp协议的时候
# 同步非阻塞
   # func() 没有io操作
   # socket 非阻塞的tcp协议的时候
   # 调用函数(这个函数内部不存在io操作)
# 异步非阻塞
   # 把func扔到其他任务里去执行了
   # 我本身的任务和func任务各自执行各自的 没有io操作
# 异步阻塞

# 进程的三状态图
   # 就绪 运行 阻塞
原文地址:https://www.cnblogs.com/usherwang/p/13020065.html