# 1 简述操作系统发展史
"""
手工操作-穿孔卡片
批处理系统-磁带存储
-联机批处理系统
-脱机批处理系统
多道程序系统
-多道程序设计技术
-多道批处理系统
分时系统
实时系统
"""
# 2 简述多道程序系统
"""
基本概念:
并发:看起来像同时运行的就可以称之为并发
并行:真正意义上的同时执行
2.1 多道程序设计技术
所谓多道程序设计技术,就是指允许多个程序同时进入内存,并允许它们交替在cpu中执行。
当一道程序因I/O请求而暂停运行时,CPU便立即转去运行另一道程序。
注意:当一道程序长时间占用cpu的时候,操作系统也会剥夺该程序的cpu执行权限。
"""
# 3 简述进程发展史及算法演变
"""
程序是指令、数据及其组织形式的描述,进程是程序的实体。
-先来先服务调度算法
-短作业优先调度算法
-时间片轮转法
-多级反馈队列
"""
# 4 简述同步异步阻塞非阻塞概念
"""
进程的3个状态
就绪态;当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。
运行态:程序正在处理机上执行,此时的进程状态称为执行状态。
阻塞态:阻塞(Blocked)状态正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。
同步和异步
同步:所谓同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。
异步:所谓异步是不需要等待被依赖的任务完成,只是通知被依赖的任务要完成什么工作,依赖的任务也立即执行,只要自己完成了整个任务就算完成了。
阻塞与非阻塞
小结:异步非阻塞形式是效率最高的
"""
# 第五题 书写进程创建的两种方式
from multiprocessing import Process
import time
def task(name):
print(‘%s is running‘ % name)
time.sleep(3)
print(‘%s is over‘ % name)
if __name__ == ‘__main__‘:
# 1 创建一个对象
p = Process(target=task, args=(‘jason‘,))
# 容器类型哪怕里面只有1个元素 建议要用逗号隔开
# 2 开启进程
p.start() # 告诉操作系统帮你创建一个进程 异步
print(‘主程序‘)
# 第二种方式 类的继承
class MyProcess(Process):
def run(self):
print(‘hello bf girl‘)
time.sleep(1)
print(‘get out!‘)
if __name__ == ‘__main__‘:
p = MyProcess()
p.start()
print(‘主程序‘)