热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

如果我实现了自己的OS,我算开发者中的精英吗?

相信有很多Linux爱好者心中都怀有编出一个自己的操作系统的理想,一位外国网友在quora上提出了这个问题。本文翻译节选了一个令人启迪的回答,让我们从另一个角度思考个人重新发明轮子

  相信有很多linux爱好者心中都怀有编出一个自己的操作系统的理想,一位外国网友在quora上提出了这个问题。本文翻译节选了一个令人启迪的回答,让我们从另一个角度思考个人重新发明轮子的意义。以下是网友的答案:

  简单粗暴的回答是:当然!你绝对成为了一个不为人知,极为小众的一类开发者。尽管这些开发者掌握了开发操作系统的能力与知识,但99.9999%的普通人类是不关心你的创举的。如果你还是觉得这样的事实让你开心,不要犹豫,放手去做吧。

  从头写一个OS是一项艰巨的事业。我用从头组装一辆汽车来比喻从零编写OS。要组装一辆车,你只需要买到所有能买到的零件,除此以外需要做的就是将这些零件组装起来。

如果我实现了自己的OS,我算开发者中的精英吗?

  现在,你组装完成一辆可以跑起来的汽车,你迫不及待的向周围人炫耀你的成就,一下就是不同人的反应:

  第一类,普通人类,括号,不懂汽车设计和机械工程的人类,他会说,好棒的车,你自己组装的吗?真牛逼!

  第二类,你极客圈里的朋友,括号,碰巧也是汽车改装爱好者,他们对你的创举真正表现出狂热的兴趣。他们会不停询问你选的什么配件呀,那里应该怎么组装啊,然后你就在这个圈子里赢得了声望,自尊心得到极大地满足。

  第三类,汽车工程师精英工程师,括号,已经设计了多辆汽车,他会说“欢迎来到俱乐部,让我们一起分享造车的点子和秘诀吧”。对,你将会成为这个造车俱乐部中一员,可是你还想组装多少车呢?有时买一辆车比自己组装便宜多了回到软件工程上来,你编写了自己的操作系统,多么伟大的创举,让复杂系统运行起来使你得到个人满足,你感觉自己简直站在世界的巅峰。好,我们看看你有哪些得与失。

  • 得:获得了对数据结构、进程调度、上下文切换、线程、内存管理、资源分享、设备驱动等等一系列内核概念最扎实的理解,期间获得极大地幸福感,以及向他人吹嘘的话语权。
  • 失:你花费了太多太多的时间让你的系统正确跑起来。在这个时代,这个系统除了你没有人在乎,没有人会使用它,没有实际的应用程序,没有实际的用途,只有你唯一一个开发者兼维护者。非常小的机会你会凭着你的系统与Linus Torvalds见面,括号,非常不幸,实现中没有OS作者俱乐部!

  所以,缺点是大于优点的。确实你从中学到了很多开发复杂软件的知识与技巧(但很可能在实际中不会再遇到),但收益也仅限于此。你的这些知识会在你追求你的事业或者启动你自己的公司时成为优势,但是你知道吗?其实你并不需要通过写OS来得到它。

  如果你真的希望自己写一个OS,首先你要问问自己到底是OS的哪一个部分让你着迷? 你真的要自己完全实现一个内存管理器?或者你对调度感兴趣,也许是调度感兴趣?你可以试试一些仿真器帮助你学习和理解这些东西。

  每次你对一个需要巨大工作量的任务抱有兴趣时候,我都建议你尝试从经济角度评判一下意义。经常问问自己做这个的价值是什么,你可以开始着手来设计自己的OS,如果你已经得到你想要的东西,要懂得适时的放手。你也许不需要自己码代码来获得操作系统如何运行的知识,通过一些经典的参考书你也可以获得同样的知识以及与相同程度的乐趣。

  华华联想到目前很多专家教授都在吹鼓国产操作系统,从个人角度来讲,我们其实没有必要重复发明轮子,从国家层面来说,也更应该从经济角度思考国产轮子真的有必要吗?为什么不把有限的资金投入到使用开源轮子的国产发动机上呢?

欢迎大家阅读《如果我实现了自己的OS,我算开发者中的精英吗?》,跪求各位点评,若觉得好的话请收藏本文,by



推荐阅读
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 优雅地记录API调用时长
    本文旨在探讨如何高效且优雅地记录API接口的调用时长,通过实际案例和代码示例,帮助开发者理解并实施这一技术,提高系统的可观测性和调试效率。 ... [详细]
  • Node.js 断点调试指南
    本文详细介绍了利用Google Chrome DevTools和Visual Studio Code两种工具进行Node.js应用的断点调试技巧。 ... [详细]
  • 一键LNMP配置SSL证书实现全站HTTPS访问
    许多网站搭建者选择了便捷的一键LNMP安装包,但在网站部署完成后,配置SSL证书以支持HTTPS访问是一个不可或缺的步骤。本文将详细介绍如何通过简单的步骤完成这一过程。 ... [详细]
  • 深度解析:用友云Pontus限流服务提升系统稳定性
    本文深入探讨了用友云Pontus限流服务的技术细节及其在提高系统稳定性方面的作用,特别是在面对突发流量时的保护机制。 ... [详细]
  • iOS 小组件开发指南
    本文详细介绍了iOS小部件(Widget)的开发流程,从环境搭建、证书配置到业务逻辑实现,提供了一系列实用的技术指导与代码示例。 ... [详细]
  • 本文详细介绍如何在华为手机上安装鸿蒙3.0系统及下载兼容鸿蒙系统的新版应用,包括前期准备、升级途径以及应用下载的具体步骤。 ... [详细]
  • Python Selenium WebDriver 浏览器驱动详解与实践
    本文详细介绍了如何使用Python结合Selenium和unittest构建自动化测试框架,重点解析了WebDriver浏览器驱动的配置与使用方法,涵盖Chrome、Firefox、IE/Edge等主流浏览器。 ... [详细]
  • Git版本控制基础解析
    本文探讨了Git作为版本控制工具的基本概念及其重要性,不仅限于代码管理,还包括文件的历史记录与版本切换功能。通过对比Git与SVN,进一步阐述了分布式版本控制系统的独特优势。 ... [详细]
  • 本文介绍如何利用微信提供的JS接口实现关闭当前浏览器页面并自动返回到微信公众号的对话窗口。此功能在实际应用中非常实用,但需要注意在微信开发者工具中可能遇到的兼容性问题。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • 本文探讨为何Request对象的外观设计被认为是精妙的,重点在于其如何利用门面模式确保数据安全,同时保持系统的高效交互。 ... [详细]
  • 支付宝新功能:直接入口提升用户体验
    本文探讨支付宝最新推出的直接入口功能,旨在提升用户使用小程序的便捷性,并分析这一变化对支付宝及小程序开发者的影响。 ... [详细]
  • IA64架构下常见编程陷阱探讨
    本文深入探讨了IA64架构中常见的一个编程错误案例,该案例揭示了当开发者试图绕过编译器的某些限制时可能遇到的问题。通过具体分析IA64架构的特点及其对全局变量处理的方式,本文旨在为开发者提供避免此类问题的有效建议。 ... [详细]
author-avatar
小赖小燕_380
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有