windows还是linux?这是一个问题。前者是多数人接触第一款操作系统,甚至于对于这部分人来讲,windows就是电脑的代名词,我们熟悉该系统的操作逻辑,他有完整的软件生态,即使是再小众的软件移植到pc首先考虑的必然是win的兼容性,windows仿佛是开发平台的必然选择,是这样吗?
win与linux学习曲线
如上图所示,windows的生态对于娱乐、办公、学习等有广泛的适应性,但是有他有多项缺点是不能容忍的。第一,对于本项目而言,windows环境软件少之又少,相关参考资料由于系统闭源的特性又语焉不详;第二,系统函数封装过度,用户调用极其困难;第三,一个工作需要切换多个软件界面,需要点击多次鼠标,笔者认为如果键盘能解决问题没必要转到鼠标。
linux上手是一件困难的事情,如果是选择不带图形化界面的更是如此,但失之东隅收之桑榆,当跨过拦路虎后,你会发现linux世界如此广阔,同样的选择linux作为开发环境也有几个理由。第一,适合本项目的软件众多,而且linux提供的包管理工具可以很方便的下载和使用,linux的man手册也给软件学习提供官方的学习途径,同时linux世界有齐全的技术文档且易于检索;第二,linux高度健壮的社区为解决问题提供了思路;第三,大多数操作可以使用键盘操作,一条命令可以解决多数问题
微内核与宏内核
操作系统内核实现有两种实现途径:微内核与宏内核。用户进程需要操作系统协作完成一些工作,若所有工作通过系统调用交给内核态完成的做法称为宏内核;相反地,将工作剥离交给系统调用而非内核完成,内核只需要进行诸如进程调度的简单工作的思想便称为微内核。简而言之内核承担大部分任务称为宏内核,承担部分工作即为微内核。
liunx是宏内核操作系统的代表,在宏内核操作系统中完成具体任务,用户进程通过各种调用门、系统调用例程指挥内核完成工作。
以minix为代表的微内核操作系统进行系统调用过程较为复杂,在微内核中内核类似于一个指挥者。例如进程a需要读取一个文件,需要通过内核告知进程b,进程b通过内核告知硬盘驱动程序c读取,通过栈对数据传递。显然在此过程中进程通信很重要。
本项目的操作系统将基于微内核而实现,宏内核的直截了当使他具备一定优势,但从长期来看内核逐渐变大时,微内核的结构会更加清晰,实现逻辑虽然复杂但又显得严谨,结构上十分优雅且精致,程序模块化也更加容易,可移植性高。最重要的一点,该操作系统以后是需要在嵌入式系统中使用的,或者是需要在嵌入式系统中重构的,微内核的胜利不言而喻。
质量流量型空气流量计与容积式流量计相比各有什么优缺点?
阿里云IoT工业互联网应用开发平台上线
电子书产业爆发期来临 众厂商探索发展路径
变频器在拉丝机上的应用原理
!销售/维修HP66312A程控电源HP 66312A小兵/
Windows还是Linux?
飞仕得携SiC器件动静态ATE测试机和动态偏压可靠性测试机亮相活动
智能家居是让生活简单还是麻烦了
长盈精密拟建设三个新能源汽车动力电池结构件自动化产线项目
RC选频网络的研究与应用
强强联手 未来可期 爱国小男孩与北京乌有之邦成为战略合作伙伴
出售Yokogawa AQ6317光谱分析仪
Navigant Research:2019年汽车自动驾驶实力排名特斯拉垫底
工业以太网你了解多少?工业以太网类型解析
人工智能的下一步走向 位置智能技术的光明前景
自制幻灯片切换器教程
小米的“过墙梯”和华为的“张良计”
智能工厂:设备故障报警管理的有效策略
ESD静电二极管的原理是什么
西门子S7-1200CPU程序密码忘记了怎么办