1、一个计算机可以分为硬件、内核、软件应用三个部分。内核就是承上启下的作用。它可以直接操作内存、CPU。
2、内核可以分为宏内核、微内核、混合型内核。
3、Linux就是基于宏内核机构。也就是支持多任务和并发。
4、Unix和Linux相似,也是宏内核。
5、Windows内核主流是nt内核,就是混合型内核。
6、macOS也是混合型的内核。
7、内核态和用户态:内核可以理解为一个菜谱,就是一个完整的程序。启动后也是作为一个进程运行在内存中的,此时就是内核态的进程。内存中分为:用户空间、内核空间。
8、用户态线程:在用户空间下进行,不需要走系统调用,但是无法利用多核的优势,在当前进程力不能支持并发。
9、内核态线程:这个线程建立和销毁的成本高,但是可以利用多核CPU的优势,并行执行,方便操作io。