windows和unix系统区别

1))

第一:UNIX采用进程间通信机制,而windows采用消息机制

第二:UNIX系统一开始就是为多用户设计的系统,而windows开始只是为单用户设计的操作系统。所以对多用户的支持windows就不及UNIX.
第三:UNIX采用的是用户进程与系统进程在内存中是分开的,用户进程的异常结束不会引起系统进程出现异常。
第四:UNIX采用的是对用户的授权到文件级,第个目录及文件都有rwxrwxrwx的机制。所以安全性要比windows系统好。

第五:执行同样的任务,UNIX比windows需要更少的资源。

 

略懂一点WINDOWS编程,对其消息循环机制有点了解,用循环语句来接收消息.(听说,很费资源)
对LINUX编程没接触过,我的疑惑就是:   LINUX的程序是用什么机制来接收用户的事件而做出反应的?
是不是同样也需要循环?   只是概念术语不一样而已?  
在JAVA中,是用事件监听器,但是他也是需要循环监听的吧?  
还是性质上是完全不同的?   但是如果不用循环机制,怎么能知道用户在任何时候产生了事件呢?

 

回答1:肯定有循环机制,大多数精灵进程都每隔一段时间执行某个操作。可以用信号来处理用户的事件。你可以做一个循环放在后台,循环里面加一个sleep()就不那么浪费资源了。
我以前也用过windows的,感觉消息映射和信号差不多。最明显的就是windows和linux下实现异步I/O的时候,一个是用消息,一个是用的信号。


2))

一种是类似于windows中消息循环机制,循环监听。这样貌似比较类似资源,可以通过线程休眠等来解决吧。。另一种是类似于java事件机制,即通过事件注册等,可以通过层层调用来触发事件函数。不用监听了。但是编程起来就稍微复杂点。。

 

 论坛上发现的:在不使用消息的情况下,要作到对事件(简单的如键盘,鼠标)的响应,在底层可以中断,中断回调
怎么通知上层那么多的应用程序呢?回调应该也能做到,但必然相当麻烦了~ 而且,用回调,难免产生很多的回调函数,函数层次也不直观了
消息让这些处理感觉起来简单多了~




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值