day11 进程 并发和串行
今日内容
进程
并发和串行
- 1.什么是进程
通俗来讲就是一段程序的执行过程.系统中正在运行的一个应用程序,程序一旦运行就是进程.程序仅仅只是一堆代码,而进程指的是程序的运行过程,同一个程序执行两次,那也是两个进程,进程也有优先级.
- 2.并发和串行
串行:多个任务是一个运行完毕后再运行下一个
并发:多个任务看起来是同时运行的
多道技术(操作系统的技术):多道技术中的多道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如cpu),的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用
空间上的复用:将内存分为几部分,每个部分放入一个程序,这样同一时间内存就有了多道程序,程序运行前必须先加载到内存中.(进程与进程之间内存空间彼此隔离)
时间上的复用:一个程序使用I/O时,另一个程序可以使用cpu,不同程序或用户可以轮流使用,通俗的讲就是cpu在多个不同的程序之间来回切换.
多道技术的核心是切换,切换的时机:
1.当一个任务遇到IO时,一定会切换==>提升效率
2.一个任务没有遇到IO但是占用CPU时间过长,也要切换==>此时效率降低
ps:多个进程的内存空间是互相隔离的,而且是物理隔离.
3.分时操作系统(CTTS):多用户多任务
应用多道技术来实现多个任务并发的运行
4.什么是并行
并行是真正意义上的同时运行,只有多个cpu才能实现并行.