操作系统三大概念:
- 虚拟化
- 并发
- 持久性
虚拟化能够让操作系统中的多个程序逻辑上“独占CPU”,并达到安全的隔离;并发是操作系统的经典问题,因为要让系统实现多线程的工作;持久性大概是指,用户的信息数据不能意外丢失。
2021.2.4,虚拟化总结
虚拟化又大致可以分为两个部分:CPU的虚拟化和内存的虚拟化。
CPU虚拟化
第四章:程序的抽象:进程
进程所包含的信息:指令内存、数据内存、IO操作、寄存器信息。
进程必须包含的操作:创建、销毁、等待、获取状态、暂停、复制等等
第五章:unix进程API:
fork():在C程序调用fork方法后,子进程会和父进程拥有完全相同的代码片段,并从fork的调用处继续运行。
exec():从调用处改变代码片段并执行
wait():父进程等待子进程执行完毕。
fork和exec的配合,就能实现进程间的各种巧妙的操作。
第六章 受限直接执行
为了让程序尽可能高效地享受CPU资源,可以让程序占用整个CPU执行,该程序会定时进行系统调用从而让操作系统掌管控制权。另外,如果进程操作违规,硬件也会通知操作系统重新掌握控制权。
** NOTE: 如果进程在CPU运行,那么同时操作系统没有在CPU上运行。**
第七章
进程调度的基本思想
1.时间最短,要优化平均的周转时间。
2.交替进行所有工作,优化响应时间
但其实这涉及到系统设计中的哲学,如果想要“公平”,可能就会牺牲整体的效率;如果想要整体的时间剪短,可能会牺牲某些任务的公平性。
第七章首先定义了系统进程中的五个假设:
1.们每一个进程运行相同的时间;
2.所有工作同时到达
3.一旦开始,每个工作保持运行直到完成。
4.进程没有IO
5.每个工作的运行时间是已知的
然后定义了最初的最优方案:
FIFO。
然后一条条的去除假设,然后定制新的优化方向。这个思想值得学习。
网友评论