错,是更适合专业人员,做研究、学习,以及与普通用户距离较远的事,如server。我们不能要求每一个开车的都会修车
而广大智慧的劳动人民当然把精力放在开源的linux上,这是你的原话。
知道为什么是windows系统吗?
因为MS发明的异步连接能支持当时unix所能支持的用户数百倍,一台三万块的双cpu的奔腾支持上万用户。
用户说是指并发吗? 假设UNIX并发能力是10个/s,windows能达到1000个/s吗?
真如你所说的话,windows又安全又高效还更便宜,不买windows的全是脑子进水了。
btw: 异步连接不过是异步IO的一种形式而已,它是M$发明的?
如果是 unix ,当时卖60万的DEC也顶不住,内存早暴了,系统早挂了。
当时的unix,只有同步连接,还要开进程,select方式也只能支持32个
你一定没仔细看过UNP这本书
网游促进了socket技术的发展,在此之后,win2000开始支持新的scoket方式,
网游促进socket技术的发展? 网游市场占所有使用socket的服务的多少分之一? 能排老几
windows的socket本身就是移植自bsd,socket是作为bsd的一部分被发明的。
多个线程轮询一个端口,即有异步的支撑量,又有同步的编程便捷,之后应该被unix学习去吧。
轮询这种落后的机制,很多年前就被取代了
select用的也很少了,也就学生做作业的时候用用,真正做开发,要么用libevent
要么就自己直接使用epoll,kqueue等机制,谁还轮询?
进程或线程间共享,都必须加锁,而不用共享的,线程也不加锁
随便举个例子,静态存储区的数据,进程可以随便访问,不用加锁。
而线程要访问,则要加锁,如果想不加锁,那么就要使用tls了,使用tls也是要代价的。
调度代价低,多工下性能当然更佳。当然单进程多线程是有极限的,最佳的方式是多进程多线程,这也就是apache的发展目标
进程池?代价不比线程池更高?
至少apache这个项目上,实际结果是线程池的性能不如进程池。
ps. 不要把问题扯远,你的观点是linux用进程,所以性能不如windows。
我的观点是,并不能根据用的是线程还是进程来判定性能高低。
推翻一个命题,我想,一个反例就足够了。
在386时代,可怜的硬件只能搞线程,现在win 是多进程多线程系统。
而 unix 自出生就是高档设备,不思进取,被逼得没办法了,才搞线程
代码: 全选
linux从出生的第一天起,就没有定位高档设备。
如果你觉得linux不算unix,那么bsd总归算unix吧。
跟linux一样,bsd的定位也不是高档设备,而是草根平台。
线程和进程都有各自更加适合的场景,并不能绝对的说哪个更好。
win 设计:整体规划,x86单平台优化
linux:仅只有核心,其它的东拼西凑些东东出来,你说设计?
最大的优化,其实不是平台相关的指令,指令的优化,有编译器做。
设计上的优化,算法上的优化,是跨平台的,跟具体实现关系不是太大。
怎么样才算不东拼西凑? windows下的常用软件都是微软总体设计的吗?
相反,windows下的软件倒是五花八门,非常让人眼花缭乱,
而UNIX哲学思想指导下的那些软件,都遵循unix思想,做到非常统一
举个例子,win下的软件,不论是安装还是配置,风格迥异。
linux下的,安装很统一,./configure,make,make install,
--prefix,wihtxxx,without-xxx,配置文件用xxx.rc, xxx.conf
配置文件的命名,存储目录,甚至优先级,都那么统一
软件包管理系统就更不必说了,所有软件用一个方式管理。
似乎,东拼西凑的东西,比整体规划设计的更加统一
linux的跨平台,是有代价的。
别的不说,delphi 的 vcl库和clx库性能差了N多,clx仅仅是跨平台而以
跟据你的逻辑,同理
VB语言在windows下用起来好好的,跑linux下不行了
所以 C语言,在windows下好好的,跑Linux下不行了
试问,linux下有人用borland的东西吗?
borland在linux上根本就没花什么力气。
系统,是系统的安全性,不是内核。不要偷换概念。该我说你了,哈
xserver的漏洞,不会让你的系统挂掉?甚至一个firefox的小bug,也会让你的资料荡然无存
用于生产的server,竟然还要跑xserver!!!
竟然要在生产环境里用firefox!!!
即便不说内核,firefox和xserver也是开源的,大家都盯着。
firefox也有windows版,所以拿这个例子出来没有意义。
开源至少在 licence 上,绝大多数都不收费。收取的都是服务费。闭源的两个都要
QQ开源吗? QQ收费吗?
傲游开源吗? 傲游收费吗?
google输入法开源吗? 收费吗?
商业unix开源是被linux逼的。linux是被win逼的。
linux从诞生的那天起就是开源的,当时只是linus的个人爱好而已,还没考虑过跟windows的竞争。
商业软件的开源,更多的原因不是因为被谁逼。而是厂商的自身利益,开源可以促进这个平台的第三方软件开发。
开源甚至可以吸引免费劳动力来改善产品。
中低端市场上unix都快被win干光了,几大巨头急需强有力的东西与ms竞争,
而当年BSD运气不好,正官司缠身,linux适时出现,巨头们可以说是迫不急待的投巨资捧linux上位。
不是运气好不好的问题,这个跟遵循的版权协议,开发哲学都有关系。
如果当年Linux采用的是类似BSD的协议,也就没有Linux的今天了。
自此开源才真正由专家用户走向大众,所以我说开源是低价倾销。巨头们正规方式打不倒MS,出歪招了
不要以为开源是社区、爱好者的事。人都得吃饭,没有google的支持,这个ubuntu能活下来??
ubuntu != Linux
win的通用性造成的,要找个unix的病毒,不是专业人员,还真不知道哪去找。
因为本来为unix写病毒的就少......双刃剑吧,win走的是通用极端,而 unix则相反
银行电信选择unix类系统,不仅是出于安全的考虑,还有稳定性等因素。
建议你翻翻POSIX标准,对照下windows和unix类系统,到底谁更符合标准,谁更通用。
你所说的windows通用,乃是桌面应用软件,而非系统本身。
因为专注,所以优秀,又是一把双刃剑
专科生,未必比本科生优秀
java比率连续下降,.net连续上升,ms已适时宣布 开源.net实现 无版权问题
拿数据说话
http://www.tiobe.com/index.php/content/ ... index.html
.net最近几年几乎没有什么长进,java也是基本不变
到此为止了,争论谁抄谁,谁模仿谁没有意义。
都是工具,关键还是要看是谁在用,人是第一位的。
虽然我用linux也有3年多了,但除去折腾和基本操作
真正学习的时间最多也就一两个月,除去期间吃饭睡觉等不相干的时间,剩下的恐怕只有一两天了。
自然不能跟lz的十年经验相比,十年前,我连windows都没见过呢^_^。