- 操作系统
批处理操作系统:单用户单任务
就是一批一批的处理任务的一种系统,严格的定义,就是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行
分时操作系统:多用户多任务
分时”的含义是指多个用户使用同一台计算机,多个程序分时(分时间片)共享硬件和软件资源
批处理系统没有人机交互,而分时系统允许多个用户同时使用
批处理系统中允许程序长时间地占用CPU,而分时系统不允许
windows:单用户多任务
Linux:多用户多任务
并发
看起来像同时运行的就可以称之为并发
并行
真正意义上的同时执行
ps:
并行肯定算并发
单核的计算机肯定不能实现并行,但是可以实现并发!!!
补充:我们直接假设单核就是一个核,干活的就一个人,不要考虑cpu里面的内核数
多道技术 单核实现并发的效果
空间上的复用与时间上的复用
- 空间上的复用
多个程序共用一道计算机硬件 - 时间上的复用
例子:洗衣服30s,做饭50s,烧水30s
单道需要110s,多道只需要任务做长的那一个 切换节省时间
切换+保存状态
切换(CPU)分为两种情况
1.当一个程序遇到IO操作的时候,操作系统会剥夺该程序的CPU执行权限
作用:提高了CPU的利用率 并且也不影响程序的执行效率
2.当一个程序长时间占用CPU的时候,操作吸引也会剥夺该程序的CPU执行权限
弊端:降低了程序的执行效率(原本时间+切换时间)
进程和线程
进程:资源单位
起一个进程仅仅只是在内存中开辟一块独立的内存空间
线程:执行单位
真正被CPU执行的是进程中的线程,线程指的就是代码的执行过程,代码执行过程中所需要的资源都找所在的进程索要
一个任务运行的三种状态