運作早期多工作業系統CTOS的電腦
多任务处理(英語:Computer multitasking)是指计算机同时运行多个程序的能力。多任务的一般方法是运行第一个程序的一段代码,保存工作环境;再运行第二个程序的一段代码,保存环境;......恢复第一个程序的工作环境,执行第一个程序的下一段代码......现代的多任务,每个程序的时间分配相对平均。
多道程序
计算机的早期,多任务被称作多道程序(multiprogramming)。多道程序是令CPU一次读取多个程序放入内存,先运行第一个程序直到它出现了IO操作。因为IO操作慢,CPU需要等待。为了提高CPU利用率,此时运行第二个程序。即,第n+1个程序得以执行的条件是第n个程序进行IO操作或已经运行完毕。这种方式每个程序的时间分配是不均等的,很可能第一个程序运行了几个小时而不出现IO操作,故第二个程序没有运行。
在当初,这种情况是令人接受的。人们一次指定运行多个程序,过几个小时或一天后来看运行结果或拿走打印出来的文件。人们不需要实时获得每个程序的运行情况,只关心运行结果。
|
|---|
| 概述 |
- 宣传
- 比较
- 鑑識软件工程
- 历史
- 爱好者开发
- 列表
- 年表
- 份额
|
|---|
| 内核 | |
|---|
| 进程管理 | | 概念 | |
|---|
| 调度算法 |
- 多任务处理
- 固定优先级抢占
- 多级反馈队列
- 抢占式多任务处理
- 循環制
- 短进程优先
|
|---|
|
|---|
| 内存管理和資源保护 |
- 总线错误
- 一般保护错误
- 記憶體保護
- 分頁
- 分级保护域
- 記憶體區段錯誤
- 虚拟内存
|
|---|
| 存储访问和文件系统 | |
|---|
| 操作系统列表 | |
|---|
| 其他概念 | |
|---|
|
|---|
| 概论 | |
|---|
| 层级 | |
|---|
| 多线程 |
- 时间
- 同时多线程(SMT)
- 推测(SpMT)
- 抢占式
- 协作
- 集群多线程(CMT)
- 硬件侦测
|
|---|
| 理论 |
- PRAM模型
- 并行算法分析
- 阿姆达尔定律
- Gustafson's law
- Cost efficiency
- Karp–Flatt metric
- 减速
- 加速比
|
|---|
| 元素 | |
|---|
| 协调 |
- 多元處理
- 内存一致性
- 快取一致性
- 高速缓存失效
- 屏障
- 同步
- 应用程序检查点
|
|---|
| 编程 | |
|---|
| 硬件 | |
|---|
| API |
- Ateji PX
- Boost.Thread
- Charm++
- Cilk
- Coarray Fortran
- CUDA
- Dryad
- C++ AMP
- Global Arrays
- MPI
- OpenMP
- OpenCL
- HMPP开放标准
- OpenACC
- TPL
- PLINQ
- 并行虚拟机(PVM)
- POSIX线程
- RaftLib
- UPC
- TBB
|
|---|
| 问题 |
- 软件闭锁
- 可缩放性
- 競爭危害
- 死锁
- 活锁
- 饥饿
- 确定性算法
- 并行减速
|
|---|
分類:并行计算
|