-
操作系统:简单来说就是响应用户输入来达到控制硬件的效果,满足用户的某种需求。包括操作系统内核、shell、驱动、运行库、引导程序等各种东西都是操作系统的一部分。
-
内核:操作系统最核心的部分,一般来说,内核特指某一个或者几个文件。
-
Shell:一般是指跟用户直接交互的界面,可以是命令行,也可以是窗口,用户通过shell访问并控制计算机。
以汽车的生产为例
1.内核
-
汽车的轮子发动系统就好比是内核,套上外壳和装饰后的整体就是操作系统。
-
内核只是操作系统的一部分,它负责与计算机硬件的交互(读写等)以及资源的分配(CPU、内存等)等。
- 那说到分配资源,问题来了,是用什么方式分配资源?答案是以进程的方式 - 那问题又来了,怎么分配?当然是虚拟内存。因为计算机系统内的资源是有限的,我们只有几个CPU核心、几个G的内存,但却要同时运行几百甚至几千个进程,除此之外我们别无它法。 - 所以,内核的任务就是以进程的形式来分配CPU时间,以虚拟内存的形式来分配物理内存,以文件的形式来管理IO设备。
2.操作系统
-
就像汽车只有轮子和发动系统是没有用的,我们需要加上轮盘和外壳。同样的道理,内核是给人用的,为了与内核交互,发明了命令行以及图形界面GUI。
-
但是只为用户提供操作