在我们的生活中常用的系统有很多,Linux、Windows以及Unix。在这几个系统之中,Linux和Windows最为常见,那么这两种系统有何区分?我们从各方面来看看吧。
Linux是一个主要运行于inetel架构的操作系统,不仅具备Unix系统全部特征,而且与POSIX标准兼容。Linux的功能包含真正的多任务、虚拟内存、共享库、需求装载等,发行遵循GNU的通用公共许可证。而Windows 操作系统却和Linux有着完全不同的开发模式和发展历史。
1、进程管理以及调度:从这个方面来说,Linux是一个单块式操作系统,操作系统通常在用户进程内存空间内进行,可免去发生系统调用时的进程切换开销。Windows是一个准微内核操作系统,许多功能以单独进程实现,从而提高了系统模块化程度,但是进程切换开销大一些。
2、进程间通信机制:Linux提供了标准的UNIX IPC机制,而Windows 则在基本IPC机制的基础上,提供了许多直接面向应用程序的**IPC机制。从本质来说,Linux的IPC机制接近了IPC原语,底层化,提供了**的灵活性,也可以在此基础上建立更复制的IPC价值,而Windows在原语提供的IPC机制有管道、命名管道、消息传递、共享内存、信号量等。
3、内存管理:Linux优于Windows,在面对相同的进程地址空间大小时候,对内存布局的使用方式不同,Windows实际只为了进程准备了2GB弱的可用虚拟地址空间,而Linux中的进程地址空间使用更灵活些。
虽然Linux和Windows都提供了内存共享技术,但是他们实现有些思维的区别,Linux系统给用户接口非常简单,只需要将自己虚拟内存空间附加到共享内存对象之上。Windows则是通过内存映射文件提供共享内存机制,从使用上来说,比较复杂。 |