一.操作系统的作用

1.隐藏丑陋复杂的硬件接口,提供良好的抽象接口

2.管理、调度进程,并且将多个进程对硬件的竞争变得有序

二.多道技术

1.空间上的复用

  多个程序共用一套计算机硬件

2.时间上的复用

  切换+保存状态

  1.当一个程序遇到I/O操作时,操作系统会剥夺该程序的cpu执行权限(提高cpu的利用率,也不会影响程序执行效率)

  2.当一个程序长时间占用cpu,操作系统会剥夺该程序的cpu执行权限(降低了程序的执行效率)

 并发编程(一) 操作系统基础和进程

 

2.进程基本概念

什么是进程

  程序就是一串代码,进程就是正在运行的程序,它是资源分配和调度的基本单位,是操作系统结构的基础.

进程调度的算法

  1.先来先服务调度算法

  2.短作业优先调度算法

  3.时间片轮转法

  4.多级反馈队列

  第一种和第二种算法都有明显的缺点,第一种对短作业不友好,第二种对长作业不友好,所以现代计算机进程都是基于第三种和第四种方法实现进程,如下图所示

并发编程(一) 操作系统基础和进程

进程的并行和并发

  并发:看起来像同时运行

  并行:真正意义上的同时执行

  注意:单核计算机不能实现并行,但可以实现并发,所以要实现并行必须有多个处理器

进程的三种状态

  1.就绪态:

    当进程已经做好了所有准备,就等cpu执行了,此时的状态就是就绪态

  2.运行态

    当进程正在被cpu执行的时候,此时的状态就是执行态

  3.阻塞态:

    当进程在被执行的过程中发生了一些必要的I/O操作无法继续执行时,cpu会放弃该进程转而执行其他进程,此时的状态就是阻塞态

并发编程(一) 操作系统基础和进程

 1 # 此时程序处于就绪态
 2 import time  # 运行这串代码时处于运行态
 3 
 4 print('程序开始执行')
 5 msg = input('>>>:')  # 进入阻塞态
 6 # 进入就绪态
 7 print(msg)  # 进入运行态
 8 time.sleep(1)  # 进入阻塞态
 9 # 进入就绪态
10 print('程序结束运行')  # 进入运行态
11 # 结束运行
进程的状态

相关文章:

  • 2021-11-20
  • 2021-06-07
  • 2021-11-13
  • 2021-11-25
  • 2021-10-08
  • 2021-06-12
  • 2022-12-23
  • 2021-05-13
猜你喜欢
  • 2022-01-31
  • 2022-12-23
  • 2022-12-23
  • 2021-05-26
  • 2022-12-23
  • 2022-12-23
  • 2021-10-18
相关资源
相似解决方案