windows是基于unix吗?windows和unix有什么区别

时间:2021-06-22 11:39 作者:IIS7 admin

    做Unix系统开发也有一段时间了,思维也渐渐从原来的Windows开发中转变过来.确实,在这两种开发中差别是有的,对于我们Windows程序员一时都很难适应Unix和Linux系统的开发.
    首先,为什么这么古董的Unix操作系统仍然存在在世面上?原因是多方面的,Windows的服务器操作系统是有界面的,这样,所消耗的资源就要大于Unix;其次,Unix系统可以很好的支持大型机,而Windows系统对大型机的支持不是那么好,虽然现在有了很大的改善,但是一个新兴的操作系统很难和霸占大型机市场30多年的Unix系统相比.
    其次,Windows系统使用的人数太多,容易发现漏洞。并不是说Unix系统漏洞就少,而是Windows的漏洞在使用的人多的情况下容易被发现,这样,对电信,银行等高安全要求的行业来说,漏洞是很可怕的。现在在组建内网时,往往最容易被攻陷的就是Windows主机。Windows的安全性有待提高。
    第三,Unix系统开发是没有IDE的,当然,我们可以在Windows的IDE下开发好后FTP过去,或者使用有界面的Unix系统如X11。而且多数情况,我们需要自己编写makefile,不像Windows下直接建一个工程就搞定了。
    第四,Unix系统支持多线程支持的不是很好pthread库的BUG的确有点多了,基本上就是不能频繁使用。还是要用fork来进行多进程开发,但是,这样效率实在是不敢恭维。(还好我们的机器都是50核以上的)
    第五,Unix下调试真是相当费力,虽然有dbx可以调试,但是太不直观了。不像Windows下VS的调试器那么方便可以很快地找到问题,Unix一般都是靠打Log来定位问题。
    最后,两套API库。Unix用的是标准的C的库和Unix系统库,而Windows上面的应用程序大多是C++和Win32SDK。虽然Windows的API很有Unix的API的影子,但是Windows的API要好用的多,Unix的API总是感觉用起来怪怪的.什么fork.....
    原文链接:https://blog.csdn.net/vonger/article/details/5282997