概念
操作系统的作用
- 隐藏丑陋复杂的接口,提供良好的接口
- 管理调度进程(运行当中的程序),并将多个进程对硬件的竞争变得有序
多任务
- 概念
- 就是操作系统可以同时运行多个任务
- 如:一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务
- 实现方式
- 多进程模式
- 多线程模式
- 多进程+多线程模式
- 总结
- 线程是最小的执行单元
- 进程由至少一个线程组成。
- 如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间。
并行
- 同一时刻有多个CPU在处理任务
- 多进程
- 并行的关键是你有同时处理多个任务的能力。
并发
- 同一时刻只有一个CPU在处理任务
- cpython中的多线程 (CPthon里因为GIL锁的限制)
- 并发的关键是你有处理多个任务的能力,不一定要同时。 (其实就是有任务来的时候可以不阻塞, 那么就是并发)
同步
- 一步一步的按计划执行每一个小任务
- 也就是必须一件一件事做,等前一件做完了才能做下一件事。
- 例如普通B/S模式(同步):提交请求->等待服务器处理->处理完毕返回这个期间客户端浏览器不能干任何事
- socket
异步
- 同时执行多个小任务 (其实就是回调, 当一个任务完成后自动执行某个函数) # 而且, 并发其实就是通过异步实现的
- socketserver
阻塞
- 就是调用(函数),(函数)没有接收完数据或者没有得到结果之前,不会返回。
非阻塞
- 就是调用(函数),(函数)立即返回,通过select通知调用者。
总结
- 同步IO和异步IO的区别
- 数据拷贝的时候进程是否阻塞!
- 阻塞IO和非阻塞IO的区别
- 应用程序的调用是否立即返回!
操作系统介绍
1,多道技术
针对单核,实现并发
空间上的复用:如,内存中同时有多道程序
时间上的复用:复用同一个时间片
2,分时系统
由于不断地分时,CPU效率有少许下降
特点:
- 多路性
- 交互性
- 独立性
- 及时性
3,实时系统
专项的去响应某一程序