为什么用C语言编写操作系统?为什么不使用其他语言?

晓晓 126 0

搬瓦工官网(国内无法打开,需要梯子)https://bandwagonhost.com
搬瓦工官网中国镜像站https://bwh81.net(搬瓦工官方网站,放心访问)
搬瓦工官方中文网https://bwh86.net
搬瓦工官网所有方案以及库存监控页面https://bwh86.net/monitor
最新搬瓦工最大优惠力度优惠码(循环优惠6.58%):BWHNCXNVXV
搬瓦工新用户注册和图文购买教程点击查看

也许很多人会说,因为C出现得早啊 。其他语言都这么晚,作为时间来说,这确实是一个原因的。但是为什么不用其它语言去重写或者新建个系统呢?毕竟 现在出色的语言那么多。

金属线的物理迷宫称为二极管,晶体管,电阻器和电容器,它们传递电压以执行布尔逻辑,算术运算。二进制数字字符串是物理硬件中电压状态的代理。

硬件仅表示电压状态。C所做的全部工作是为程序的蓝图定义一个受限语法中的英文文本单词,并将其翻译成二进制数字字符串。计算机只理解那些二进制数字。除了一系列文本文件,计算机不知道C是什么。

运行二进制的计算机:

可以修改Python,JavaScript或任何其他语言,以便直接产生正确的二进制数字序列。你能做到这一点。然而C不是计算机。当您考虑计算机的真正含义时,您会意识到它是一个用于定义和解释数据序列的系统。一种机械设备,它使用电来通过对二进制序列达成一致的解释来翻译命题。了解更多看下图:

语言作为蓝图:

汇编器是CPU制造商提供的一种语言,他们在其中定义了许多有意义的词和操作,以使您可以访问CPU定义的扩展功能(以及系统扩展名),以此来达到尽可能多的功能。

C为软件编写者总结了汇编程序,其方式重点在于访问计算机功能的最基本方面。如前所述,很多语言都可以做到这一点,大多数计算机语言都间接地总结了汇编程序代表的标准。

汇编程序代码必须转换为那些二进制数字字符串。我们通常称汇编程序为低级,但这是主观的。从直接写入二进制数字的角度来看,它是高级的。C使编写可以清晰映射到二进制结构的程序蓝图的过程比在Assembler中更方便。C不会创建实际的计算机代码,而只是创建蓝图。编译器和链接器生成计算机可以运行的实际代码。

编码操作系统:

为什么要使用C操作系统?就好比在一定面积的硅中只能存在这么多的电压/能量。而因为翻译,硬件大小限制。计算机的启动代码必须紧凑。启动BIOS的软件将开始硬件的识别,并为随后加载的操作系统提供挂钩,其大小受到必要性的限制。引导加载程序位于硬盘驱动器的开头。它是BIOS运行的程序,引导加载程序决定要启动的操作系统。基本上是连锁反应。全部为二进制。具有大小要求和确定性。

代码确定性:

除了它们的设计支持某些场景外,没有什么能阻止C成为Web开发语言和JavaScript成为系统语言。C以这样一种方式定义为标准,即翻译正确编写的C代码的编译器将生成满足这些标准的代码。许多其他语言的定义根本就没有一种方式,当您使用编译器翻译它们时,会产生适当约束的二进制代码。

如果我在JavaScript中使用原型声明,是否会创建我可以在操作系统上下文中依赖的代码类型?评估本质上使我朝着具有非确定性属性的自我修改代码的方向迈进了呢?我可以在编译器中优化使用eval吗?我可以像使用C的对齐类型约定那样在JavaScript接口中很好地约束它吗?

一旦使用了C之类的语言,就意味着最好需要通过代码访问服务的代码使用兼容的调用约定和应用程序二进制接口进行接口。可以与操作系统的C代码很好地啮合,庞大的C代码主体意味着更少的集成工作和更多的数据交换确定性。

切换到另一种语言可能会导致放弃数十年的代码。也许此代码中的许多代码都有安全性问题和其他缺陷,但是在功能范围内,它可以工作。过渡的情况需要符合高标准,以证明这种重大变化是合理的。

优缺:

C的积极属性意味着它已成为一个值得信赖的工具,可以为高层(相对于Assembler)创建操作系统和硬件访问例程的蓝图。C语言设计的缺点,也许是它试图总结的机器模型的反映,自然而然地编写了不那么安全的代码。特别是如果您从Web复制和粘贴。

用Lisp编写操作系统听起来是最好的主意。特别是基于那些积极倡导Lisp的人的主张。Lisp并未映射到系统定义中首选的抽象,而命令式语言越来越流行证明了这一点。对于可以替代操作系统的C的语言,人们进行了大量的研究。领先的竞争者是Rust and Go。他们似乎是取代C的最实用的候选人。然而只是到现在,还是C语言。

蓝图:

编程语言是蓝图。一些蓝图说明了每件事应该如何完成。其他蓝图应该做什么。编译器和链接器将蓝图转换为计算机实际运行的代码。一串二进制数字,对机器产生某种意义,以产生您设计的效果。C成为了蓝图规范,该规范成为了作为操作系统的主要代码。替换语言意味着您可能不得不替换其他所有基于该语言的内容。

搬瓦工机房方案整理

搬瓦工目前提供了4个方案,包括搬瓦工KVM方案搬瓦工CN2 GT方案搬瓦工CN2 GIA-E方案搬瓦工香港方案,每种方案有多种套餐配置,详细的配置和价格整理如下:
套餐名称 CPU 内存大小 硬盘容量 每月流量 带宽 价格/年 购买链接
搬瓦工CN2-E限量版(搬瓦工补货通知群(禁言,仅推送):903230558)
CN2 GIA LIMITED EDITION 1核 1 GB 10 GB 500 GB 1 Gbps $89.99 立即购买
搬瓦工CN2 GT方案
CN2 1核 1024 MB 20 GB 1000 GB 1 Gbps $49.99 立即购买
CN2 1核 2048 MB 40 GB 2000 GB 1 Gbps $99.99 立即购买
CN2 2核 4096 MB 80 GB 3000 GB 1 Gbps $199.99 立即购买
CN2 2核 8 GB 160 GB 5000 GB 1 Gbps $399.99 立即购买
CN2 3核 16 GB 320 GB 8000 GB 1 Gbps $799.99 立即购买
CN2大流量 3核 16 GB 320 GB 12000 GB 1 Gbps $899.99 立即购买
CN2大流量 3核 16 GB 320 GB 16000 GB 1 Gbps $1299.99 立即购买
搬瓦工CN2 GIA-E方案(可选搬瓦工DC9 CN2 GIA,搬瓦工DC6 CN2 GIA,搬瓦工日本大阪软银线路)
CN2 GIA ECOMMERCE 2核 1 GB 20 GB 1000 GB 2.5 Gbps $169.99 立即购买
CN2 GIA ECOMMERCE 3核 2 GB 40 GB 2000 GB 2.5 Gbps $299.99 立即购买
CN2 GIA ECOMMERCE 4核 4 GB 80 GB 3000 GB 2.5 Gbps $549.99 立即购买
CN2 GIA ECOMMERCE 6核 8 GB 160 GB 5000 GB 5 Gbps $879.99 立即购买
CN2 GIA ECOMMERCE 8核 16 GB 320 GB 8000 GB 5 Gbps $1599.99 立即购买
CN2 GIA ECOMMERCE 10核 32 GB 640 GB 10000 GB 10 Gbps $2759.99 立即购买
CN2 GIA ECOMMERCE 12核 64 GB 1280 GB 12000 GB 10 Gbps $5399.99 立即购买
搬瓦工香港方案
香港CN2 GIA 2核 2048 MB 40 GB 500 GB 1 Gbps $899.99 立即购买
香港CN2 GIA 4核 4096 MB 80 GB 1000 GB 1 Gbps $1559.99 立即购买
香港CN2 GIA 6核 8192 MB 160 GB 2000 GB 1 Gbps $2999.99 立即购买
香港CN2 GIA 6核 16384 MB 320 GB 4000 GB 1 Gbps $5899.99 立即购买
搬瓦工日本方案
日本CN2 GIA 2核 2048 MB 40 GB 500 GB 1.2 Gbps $899.99 立即购买
日本CN2 GIA 4核 4096 MB 80 GB 1000 GB 1.2 Gbps $1559.99 立即购买
日本CN2 GIA 6核 8192 MB 160 GB 2000 GB 1.2 Gbps $2999.99 立即购买
日本CN2 GIA 6核 16384 MB 320 GB 4000 GB 1.2 Gbps $5899.99 立即购买
搬瓦工KVM方案
KVM 2核 1024 MB 20 GB 1 TB 1 Gbps $49.99 立即购买
KVM 3核 2 GB 40 GB 2 TB 1 Gbps $99.99 立即购买
KVM 4核 4 GB 80 GB 3 TB 1 Gbps $199.99 立即购买
KVM 5核 8 GB 160 GB 4 TB 1 Gbps $399.99 立即购买
KVM 6核 16 GB 320 GB 5 TB 1 Gbps $799.99 立即购买
KVM 7核 24 GB 480GB 6 TB 1 Gbps $1,199.99 立即购买

标签: 国外云服务器 香港服务器 美国服务器 搬瓦工VPS

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~