进程管理及调度:Linux开销较小
在进程管理及调度方面,Linux是一个单块式的 *** 作系统, *** 作系统通常在用户进程的内存空间内进行,可免去发生系统调用时的进程切换开销。Windows是一个准微内核 *** 作系统,许多功能以单独的进程实现,从而提高了系统的模块化程度,但进程切换上的开销要大一些。
Linux支持内核级的线程,但它将线程定义为进程的另一个“执行上下文”,从而简化了进程/线程之间的关系和调度程序的设计,它的线程库提供了和POSIX兼容的线程同步机制。Windows支持的线程是典型的进程/线程模型。它的线程同步机制和Linux类似。Linux中进程是基本的调度单位,它提供了三种调度策略。
进程间通信机制:Linux更灵活
在进程间通信机制上,Linux提供了标准的UNIX IPC机制,而Windows 则在基本IPC机制的基础上,提供了许多直接面向应用程序的高级IPC机制。从本质上看,Linux的IPC机制接近于IPC原语,比较底层,提供了最大的灵活性,也可以在此基础上建立更加复杂的高级IPC机制,而Windows 在原语级提供的IPC机制有管道、命名管道、消息传递、共享内存、信号量等。
内存管理:Linux优于Windows
在内存管理上,Linux 和Windows 在面对相同的进程地址空间大小时,对内存布局的使用方式不同。Windows实际只为进程准备了2GB弱的可用虚拟地址空间,而Linux中的进程地址空间使用更灵活些。
在虚拟内存的使用上,Linux内核为用户管理了非常多的细节问题,用户可以认为自己真正拥有4GB地址空间,而不用关心虚拟内存是否提交物理存储等问题。Windows为程序员提供了多种虚拟内存使用方案,虽然这些方案的使用有些复杂,但却提供了一定程度上的灵活性。它也支持DOS和Win16程序的执行,但为了提供这种兼容性,它的内存管理付出了极高的性能代价。
Linux 和Windows虽然均提供了内存共享技术,但它们的实现有些细微的差别。Linux提供给用户的接口非常简单,只需将自己的虚拟内存空间区域附加到共享内存对象之上。Windows则是通过内存映射文件提供共享内存机制,从使用上讲,略显复杂。
Linux的内存交换管理灵活性很强,用户可以在普通的文件系统上建立“无洞”的文件作为交换空间,还可以使用多个交换文件,从而可以动态增加交换文件。它也提供了利用交换分区作为交换空间的方法,此方法是优选的交换空间方案。Windows 的页面文件很难摆脱碎片化的危险,为了保证它采用无碎片的页面文件,必须采取一定的措施。
Linux 和Windows 在高速缓存的使用上有一些共同之处,均尽量采用系统的全部空闲RAM作为高速缓存区域,但Linux在高速缓存管理上有一些独到之处,这是它性能之所以高的根本原因所在。
安全性:Linux具有一定优势
在安全性方面,Linux采用的是UNIX在安全性方面成功的技术,尽管有一些安全漏洞,但因为设计上的开放性,这些漏洞能够在很快的时间内发现并得到解决。Windows 虽然采用的ACL技术,更加复杂和严密,但因为其密码加密步骤过于简单,密码容易被破解。安全性设计上的不公开性也导致其有很多安全上的漏洞。
一项最新的测试结果表明,采用linux下的samba文件服务器与windows 2003 server文件服务器性能比较,linux的表现是非常令人满意的。
原文地址:>
消息推送(Push)就是通过服务器把内容主动发送到客户端的过程。运营人员通过自己的产品或第三方工具对用户移动设备进行主动消息推送。完成推送后,消息通知会展示在移动设备的锁定屏幕及通知栏上,用户点击通知即可去往相应页面。
现在流行的消息推送实现方式,主要为长链接方式实现。其原理是客户端主动和服务器建立TCP长链接,长链接建立之后,客户端定期向服务器发送心跳包用于保持链接,当有消息要发送的时候,服务器可以直接通过这个已经建立好的长链接,将消息发送到客户端。
个推作为国内移动推送领域的早期进入者,于2010年推出个推消息推送SDK产品,十余年来持续为移动开发者提供稳定、高效、智能的消息推送服务,成功服务了人民日报、新华社、CCTV、新浪微博等在内的数十万APP客户。个推消息推送,也是运用长链接的方式实现消息推送的,其长链接稳定性高、存活好,消息送达率高。开发者通过集成个推消息推送SDK,即可简单、快捷地实现Android和iOS平台的消息推送功能,有效提高产品活跃度、增加用户留存。
如果您对个推消息推送感兴趣,欢迎前往个推开发者中心免费注册体验。
个推的合作客户
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)