学习go语言的过程中发现了Linux这个新名词,就很好奇,就做了以下科普,还有什么是可执行文件
Linux操作系统和Windows操作系统之间的差别
前言:
操作系统界有三大巨头,他们分别是苹果操作系统、Linux操作系统、Windows操作系统,深入追究下来,他们有同一个祖宗,叫Unix。
Linux内核为基础开发的系统都统称为Linux系统,比如Cent OS. Android . Ubuntu等都可以叫做Linux系统,Linux系统是一个家族,他们有共同特性,但不同于Windows操作系统
区别一:
内核不同,Linux操作系统使用Linux内核,Windows操作系统使用NT内核,Linux内核代码开源,NT内核代码闭源,也就是说任何人都可以拿着Linux内核代码改成自己喜欢的风格来用,不过前提是你得是技术大牛。
区别二:
Linux是免费的,Windows是收费的,不过不代表所有Linux都是免费的,有一部分进行商业运作的Linux是收费的,比如Redhat Linux。
区别三:
Windows软件支持丰富,而Linux软件支持就很少了,因为Windows硬件驱动厂商支持全面,Linux驱动这块不如Windows全面,比如百分之九十九的游戏都可以在Windows上运行,而Linux上只有很简陋的游戏。
区别四:
Windows易用性高,Linux操作系统有一定的门槛,Linux使用命令行字符模式为主要操作方式,Windows使用窗口、图标、鼠标点击形象化的方式为主要操作方式,如果不懂命令行,基本使用Linux是寸步难行的。
区别五:
市场和安全性,Linux市场主攻服务器市场,Windows系统主打桌面市场,Linux主要应用于网络,而Windows操作系统最开始应用于打印服务。Linux安全性比Windows安全性高,要求它更加可靠。
什么是可执行文件
可执行文件 (executable file) 指的是可以由操作系统进行加载执行的文件。
可执行文件格式:
Windows系统:
PE(portable executable)文件结构
Linux系统:
ELF(exectable and linking format)文件结构
如何识别PE文件?
.exe .dll .sys 等文件后缀名,不过不能仅仅看文件后缀名,想进一步识别还需要进一步判断,这里我就先不写了,过程有点繁琐,可单独出一章《如何判断是否为PE文件》