不同操作系统的API差异及FreeBSD Port 使用源代码

目录

一、Windows操作系统克服了CPU以为的硬件差异

 二、不同操作系统的API差异性

三、FreeBSD Port 帮你轻松使用源代码


一、Windows操作系统克服了CPU以为的硬件差异

计算机的硬件并不仅仅是由CPU组成的,还包括用于存储程序指令的数据和内存,以及通过I/O连接的键盘、显示器、硬盘、打印机等外网设备

在Windows软件中,键盘输入、显示器输出等并不是直接向硬件发送指令。而是通过向Windows发送指令实现的。因此,程序员就不用注意内存和I/O地址的不同构成了。Windows操作的是硬件而不是软件,软件通过操作Windows系统可以达到控制硬件的目的

 二、不同操作系统的API差异性

接下来我们看一下操作系统的种类。同样机型的计算机,可安装的操作系统类型也会有多种选择。例如:AT兼容机除了可以安装Windows之外,还可以采用 Unix 系列的 Linux 以及 FreeBSD(也是一种Unix操作系统)等多个操作系统。当然,应用软件则必须根据不同的操作系统类型来专门开发。CPU的类型不同,所对应机器的语言也不同,同样的道理,操作系统的类型不同,应用程序向操作系统传递指令的途径也不同

应用程序向系统传递指令的途径称为 API(Application Programming Interface)。Windows 以及Linux操作系统的API,提供了任何应用程序都可以利用的函数组合。因为不同操作系统的API是有差异的。所以,如何要将同样的应用程序移植到另外的操作系统,就必须要覆盖应用所用到的API部分

键盘输入、鼠标输入、显示器输出、文件输入和输出等同外围设备进行交互的功能,都是通过API提供的

这也就是为什么 Windows 应用程序不能直接移植到Linux 操作系统上的原因,API差异太大了

在同类型的操作系统下,不论硬件如何,API几乎相同。但是,由于不同种类CPU的机器语言不同,因此本地代码也不尽相同

三、FreeBSD Port 帮你轻松使用源代码

既然CPU在不同会导致本地代码不同,那为何不将源代码直接发送给程序呢?Unix系列的 FreeBSD 操作系统就使用了这种方式

Unix系列操作系统 FreeBSD中,存在一种名为 Ports 的机制。该机制能够结合当前运行环境的硬件环境来编译应用的源代码,进而得到可以运行的本地代码。如果目标应用的源代码在硬件上找不到,Ports就会自动使用 FTP 连接到相应站点下载代码

FreeBSD 的 Ports机制:

全球很多站点都提供使用于 FreeBSD的应用源代码。通过使用 Ports 可以利用的程序源代码,大约有16000种。根据不同的领域进行分类,可以随时使用

FreeBSD上应用的源代码,大部分使用C语言来标注的 ,C编译器 可以结合 FreeBSD的运行环境来生成合适的本地代码

FTP(File Transfer Protocol)是连接到互联网上的计算机之间的传送文件的协议 

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏志121

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值