手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?

诺基亚的MeeGo,微软的UWP,谷歌的Android,都曾经梦想着打通PC端和移动端,但是最终都折戟沉沙。时至今日,仍然没有一个操作系统能够实现这个目标。难道,做出一通用系统真的不可能成功么? 手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?

感谢官方邀请!

个人认为,有共同设计语言,让用户在使用过程中能获得“共通感”的高效体验操作系统族群,是比较可行的。例如苹果的iOS、iPadOS、watchOS、macOS和TVos。

完完全全的单一系统给全部类型的设备使用是不可行的,因为涉及到难以共通2点:性能与用途以及用户的操作。

1.性能与用途,每种设备的要求不一样。

比如,手机是要实时的网络连接,手游级别的娱乐性能和一天的续航能力,它的系统要精简指令集,配合芯片达到不错的效率。手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?

电脑要更高的性能,游戏拥有更好的特效,生产力软件要火力全开,同时还有可能有更多复杂工作,它的系统指令集要齐全,芯片要更强性能。手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?

智能手表要专注于传感器追踪,每天跑了多远,消耗了多少能量,实时心跳怎么样?它的系统长时间工作,同时也要配合芯片实现超低能耗。手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?

这决定了操作系统要用什么样的内核,重量级的还是轻量化的?APP的话该如何制作多版本,目前的各类设备性能综合来看,还不不足以支撑一个全能的内核。

2.用户的操作,这是更重要的一点。

手机、平板、电脑、电视、手表,这些东西的操作方式都不一样。手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?

手机平板一般用来日常使用+娱乐。平板可以说是手机的放大版,因此做共通系统还行。手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?

笔记本要用来工作,大部分都是用键盘鼠标,尽管有很多笔记本开始装备触屏,但用起来根本不是手机平板那味,效率很低。你说可以用来娱乐,软件软件不适配,网页网页是个PC版,那么在使用超极本的平板模式时,到底软件该渲染PC页面还是平板页面?手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?

电视上,不是你的手指也不是键盘鼠标,大多是操控都是用遥控器了。整个界面很大,但并不适合办公,电视是一个单纯的浏览工具,所以在大部分智能电视的主UI上,大部分采用大块的图块+字,提高效率。

手表呢?显示界面少,反馈的感也少,因此苹果做了触感来加强反馈;功能少,但依旧要快速直达,还有语音助手用的更勤。

-------------------分界线-----------------

主要还是效率

硬件的运行效率,用户的使用效率,难以在单一操作系统上得到统一

手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?

我想写一个自己的操作系统,比如Unix或Linux,最起码我需要具备些什么?然后我需要怎么做?

Unix和Linux属于大型操作系统,凭个人之力,根本不可能完成。以Linux系统为例,它的版权人林纳斯.托瓦兹(Linux之父)是个天才程序员,没日没夜忙了差不多半年,写出Linux的0.01版,也就是初级版本,你猜源代码有多少?大概有1万行。

Linux0.01版发布后,林纳斯和全球成千上万黑客(和现在喜欢在网上偷鸡摸狗的黑客不同,那时的黑客都是程序员大牛,主要以改进电脑软硬件性能为乐趣)一起修改完善。从1991年0.01版发布,到1994年Linux1.0正式版发布,三年时间,参与的程序员能轻松坐满一个足球场,你猜代码有多少行?一共17万多行。

手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?

林纳斯.托瓦兹(Linus Torvalds),Linux系统之父。你的手机、你家的电视机顶盒、你常取款的 ATM上的系统,都是基于 Linux 系统改造而来,没有这个人,就不会有现在的开源软件。


除非你认为自己的编程天赋和勤奋努力程度能碾压上述大牛,那么可以试试以个人之力,写一个Linux级别的操作系统。

更重要的是,当时还是486电脑当道的时代,操作系统远没有今天复杂,那怕是iOS和安卓这样的公司化运作的操作系统项目,也并没有从0写起,而是“踩在前人的肩膀上爬梯子”,iOS的内核是Unix,安卓系统的内核是Linux,苹果公司和谷歌公司在原有系统上“改扩建”,搞成了自己的东西。

手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?

肯·汤普森(Kenneth Thompson),C语言前身B语言的作者,Unix的发明人之一,程序员们的祖师爷。


当然,如果不是要写Linux这样的大型操作系统,就是想写来玩玩,比如搞个mini的,还是有可操作性的:

  1. 建议从最基础的玩起,先写监控程序(操作系统的原型),仅具有加载程序和运行程序的功能。
  2. 监控程序玩熟练之后,可以写用于单片机的微型操作系统,包含控制程序、编译器和简单的应用程序。

个人要熟练写操作系统,大致说来需要具备下列素质:

  1. 熟练运用C语言编程;
  2. 会汇编语言;
  3. 了解基本的硬件知识;
  4. 会写硬件驱动程序;
  5. 会软件架构设计;

不过,上面这些都精通了,随便去互联网大厂拿个七八十万年薪的offer是分分钟的事,何苦自己折腾!

如何从零开始开发一个操作系统?

操作算是在软件开发里面功能非常齐全难度非常大的一个超级工程,目前国内掌握操纵系统技术的科技公司也是少的可怜,而且不完全是技术层面的东西了,还需要构建生态链,国内的阿里公司在这方面已经做过尝试了,只能讲不是很成功,主要开发出来了需要真的有人去使用,现在无论桌面的操作系统还是移动端的操作系统都有巨无霸存在,而且还是垄断性质般的存在,现在华为手机因为安卓禁止使用服务导致国外的销量下滑,现在华山一条路只能启动一个自主的操作系统的研发,还在华为公司已经做了大量的准备,不至于这么被动,但任重而道远。手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?

回到主题从零开始开发一个操作系统,本身就不是一个人能做的事情。这个工程量巨大,但从学习的角度可以研究一下如何完成一个简化版的linux,记得刚学习C语言的时候基本语法刚学习完的时候,就去学校的图书馆借了一本linux内核深度剖析,觉得自己的C语言基础玩的差不多,结果看了100多页实在是坚持不下去了,所以编程的学习是一个长期积累的过程,只是学了一门编程语言距离真正的编程还得差得远,编程的学习是一个长期积累的过程。手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?

要制作最简单的操作系统需要掌握的基础,C语言,汇编语言以及常见的操作系统常识,真要仔细的描述就不是几百字能够描述清楚地,bootloader加载,内存管理,系统进程调度,中断处理等等这些简单的功能实现可能会比较简单,融合在一起流畅的运行就不是那么简单的事情了,现在网络上很多简单的几十行汇编代码,其实就是让大家找个感觉感受下自己制作个操作系统是什么感觉,真正玩起来需要做的细节太多,都不是一个人能玩的事情。手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?

从工作上讲操作系统的定制主要在嵌入式领域用的比较多,嵌入式领域因为受到硬件的限制,需要对载入的系统进行定制,不需要全套新功能可能涉及到操作系统的定制,这点是有技术含量,现在还是有很多微小的嵌入式系统需要精细化的定制,当然linux内核在有些场景下也需要定制。

对于初学者需要开发一个操作系统的东西,需要储备大量的理论知识,需要对计算机的系统运行原理都需要有所了解,需要的编程语言,汇编,C语言,需要程序的加载以及内存运行管理,中断等等理论有一个深刻的了解,一般做这方面工作的需要经验丰富的老程序员,涉及到底层动作经验占据非常重要的因素。手机操作系统和电脑操作系统的区别,做一个手机和电脑通用的操作系统真的不可能成功么?

如果觉得对于linux内核比较感兴趣,可以学习下linux啮合深度剖析,里面对于初级的linux主要框架进行了分解,剖析到了每个功能以及内部的原理实现,对于深入了解操作系统有非常大的好处,学习任何东西首先要掌握一定的理论才能去实践,在不懂得理论的基础上再进行实践是最好的方式。

希望能帮到你。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论