每日作业 4/22
# 今日作业
**必做题**
* 简述操作系统发展史
1、手工操作 2、批量处理系统 3、联机批量处理系统 4、脱机批处理系统 5、多道程序系统 6、分时系统 7、实时系统 8、通用操作系统
* 简述进程发展史及算法演变
1、先来先服务调度算法 2、短作业优先调度算法 3、时间片轮转法+多级反馈队列
* 简述多道技术
空间上的服用与时间上的服用 * 空间上的复用 多个程序公用一套计算机硬件 * 时间上的复用 切换+保存状态
* 简述同步异步阻塞非阻塞概念
同步:任务提交之后,原地等待任务的返回结果,等待的过程中不做任何事(干等)
异步:任务提交之后,不原地等待任务的返回结果,直接去做其他事情,之后通过回调机制通知调用者
阻塞:调用是指调用结果返回之前,当前线程会被挂起(如遇到io操作)。函数只有在得到结果之后才会将阻塞的线程激活。
非阻塞:指在不能立刻得到结果之前也会立刻返回,同时该函数不会阻塞当前线程。
* 书写进程创建的两种方式
方式一:
import time # import random from multiprocessing import Process def piao(name): print('%s piaoing' %name) # time.sleep(random.randrange(1,5)) time.sleep(1) print('%s piao end' %name) if __name__ == '__main__': p1=Process(target=piao,args=('egon',)) #必须加,号 p2=Process(target=piao,args=('alex',)) p3=Process(target=piao,args=('wupeqi',)) p4=Process(target=piao,args=('yuanhao',)) p1.start() p2.start() p3.start() p4.start() print('主线程') ''' 主线程 egon piaoing alex piaoing wupeqi piaoing yuanhao piaoing egon piao end alex piao end wupeqi piao end yuanhao piao end
#注意:
1、p1.start()是告诉操作系统去申请内存空间,然后运行代码,之后p1.start()这行代码就完事了,继续往下运行print()
2、申请内存空间然后重新运行代码耗时长,速度肯定print代码运行速度快,因此先打印"主线程"
'''
方法二:
#开进程的方法二: import time # import random from multiprocessing import Process class Piao(Process): def __init__(self,name): super().__init__() self.name=name def run(self): print('%s piaoing' %self.name) # time.sleep(random.randrange(1,5)) time.sleep(1) print('%s piao end' %self.name) if __name__ == '__main__': p1=Piao('egon') p2=Piao('alex') p3=Piao('wupeiqi') p4=Piao('yuanhao') p1.start() #start会自动调用run p2.start() p3.start() p4.start() print('主线程') ''' 主线程 egon piaoing alex piaoing wupeiqi piaoing yuanhao piaoing egon piao end alex piao end wupeiqi piao end yuanhao piao end '''
* 将具体内容整理到博客中
**选做题**
* 计算机硬件知识扩展(感兴趣)
* 数据分析算法学习资料收集(感兴趣)