操作系统是在人们使用计算机的过程中,为了满足两大需求,提高资源昨用率,增强计算机系统性能,伴随着计算机技术本身及其应用的日益发展,而逐步完善起来的。
从最早的手工操作(穿也卡片)到批处理系统(磁带存储:联机处理、脱机批处理)再经过多道程序系统、分时系统(多路性、交互性、独立性、及时性)、实时系统、发展到现今的通用操作系统。
-
简述进程发展史及算法演变
进程是计算机的程序关于某数据集合上的一次动行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算结构中,进程是经程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
先来先服务(FCFS)调度算法是一种最简单的调度算法。该算法既可用于作业调度,也可用于进程调度。FCFS算法比较有利于长作业(进程),而不利于短作业(进程)。由此可知,本算法适合于CPU繁忙型作业,而不利于I/O繁忙型的作业(进程)。
短作业(进程)优先调度算法(SJ/PF)是指对短作业或短进程优先调度的算法,该算法既可用于作业调度,也可用于进程调度。但其对长作业不利:不能保证紧近性作业(进程)被及时处理:作业的长短只是被估算出来的。 -
简述多道技术
所谓多道就是指允许多个程序同时进入内存并运行。即同时把多个程序放入内存,并允许它们交替在CPU中运行,它们共享系统中的各种硬、软件资源。当一道程序因IO请求而暂停运行时,CPU便立即转去运行另一道程序。
-
简述同步异步阻塞非阻塞概念
同步:任务提交之后,原地等待任务的返回结果,等待的过程中不做任何事
异步:任务提交之后,不原地等待任务的返回结果,直接去做其他事情
阻塞:阴塞态
非阴塞:就绪态、运行态 -
书写进程创建的两种方式
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__':
p = Process(target=task,args=('json,'))
p.start()
print('主')
第二种方式,类的继承
from multiprocessing ipmort Process
class MyProcess(Process):
def run(self):
print('hello world')
time.sleep(1)
print('get out!')
if __name__=='__main__':
p = MyProcess()
p.start()
print('主')