第一:UNIX采用进程间通信机制,而windows采用消息机制
第二:UNIX系统一开始就是为多用户设计的系统,而windows开始只是为单用户设计的操作系统。所以对多用户的支持windows就不及UNIX.
第三:UNIX采用的是用户进程与系统进程在内存中是分开的,用户进程的异常结束不会引起系统进程出现异常。
第四:UNIX采用的是对用户的授权到文件级,第个目录及文件都有rwxrwxrwx的机制。所以安全性要比windows系统好。
第五:执行同样的任务,UNIX比windows需要更少的资源。
略懂一点WINDOWS编程,对其消息循环机制有点了解,用循环语句来接收消息.(听说,很费资源)
对LINUX编程没接触过,我的疑惑就是: LINUX的程序是用什么机制来接收用户的事件而做出反应的?
是不是同样也需要循环? 只是概念术语不一样而已?
在JAVA中,是用事件监听器,但是他也是需要循环监听的吧?
还是性质上是完全不同的? 但是如果不用循环机制,怎么能知道用户在任何时候产生了事件呢?
回答1:肯定有循环机制,大多数精灵进程都每隔一段时间执行某个操作。可以用信号来处理用户的事件。你可以做一个循环放在后台,循环里面加一个sleep()就不那么浪费资源了。
我以前也用过windows的,感觉消息映射和信号差不多。最明显的就是windows和linux下实现异步I/O的时候,一个是用消息,一个是用的信号。
回答2: