MIT6.S081-第二章操作系统架构,但是现实是,你可以在


想象你的计算机上跑着机器学习,但是你又想听歌,但是你的计算机只有一个CPU,如果把所有的CPU资源都拿去跑机器学习的话,你必须等程序跑完之后才能听歌。但是现实是,你可以在机器学习程序运行的时候放着自己喜欢的歌,甚至还可以打开微信聊天。这就是操作系统一个很重要的功能,那就是操作系统需要支持多个进程同时运行,例如在第一章中提到的,我们可以用fork创建子进程,然后父进程和子进程会在相同的内存空间上同时运行。但是父进程和子进程的运行顺序是不确定的,因为这取决于调度器的决策,所以操作系统还必须要做好调度工作,让每个进程都能够利用有限的CPU资源来运行自己的代码,即对资源进行复用。操作系统另一个很重要的作用是使进程与进程之间相互隔离,因为需要防止一个进程在运行出现的错误影响到其他进程的运行,又或者进程会访问到内核资源,对内核进行破坏。但是进程之间又不应该是绝对的隔离,因为有时候我们还需要让进程之间进行通信,或者共享数据。

总的来说,一个操作系统满足一下三个要求

相关内容