x86、Linux、GNU、GNOME是什么
一、指令集架构:
指令集架构(英语:Instruction Set Architecture,缩写为ISA),又称指令集或指令集体系,是计算机体系结构中与程序设计有关的部分,包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部I/O。指令集架构包含一系列的opcode即操作码(机器语言),以及由特定处理器执行的基本命令。
指令集体系与微架构(一套用于执行指令集的微处理器设计方法)不同。使用不同微架构的电脑可以共享一种指令集。例如,Intel的Pentium和AMD的AMD Athlon,两者几乎采用相同版本的x86指令集体系,但是两者在内部设计上有本质的区别。
一些虚拟机器支持基于Smalltalk,Java虚拟机,微软的公共语言运行时虚拟机所生成的字节码,他们的指令集体系将bytecode(字节码)从作为一般手段的代码路径翻译成本地的机器语言,并通过解译执行并不常用的代码路径,全美达以相同的方式开发了基于x86指令体系的VLIW处理器。
参考:
https://zh.wikipedia.org/wiki/%E6%8C%87%E4%BB%A4%E9%9B%86%E6%9E%B6%E6%A7%8B
二、x86和x64分别指什么:
- 关于x86的32位元架构(常被称为i386、x86-32或是x86),请见“IA-32”。
- 关于x86的64位元架构(向前相容于16位及32位的x86架构,常称AMD64或 Intel 64),请见“x86-64”。
x86是一个指令集架构家族,最早由英特尔在1978年面市的“Intel 8086”CPU上开发出来。
x86-64(简称x64)是64位版本的x86指令集,向后兼容于16位及32位的x86架构。x64于1999年由AMD设计,AMD首次公开64位集以扩充给x86,称为“AMD64”。其后也为英特尔所采用,现时英特尔称之为“Intel 64”。Apple和rpm以“x86-64”或“x86_64”称呼此64位架构。甲骨文公司及Microsoft称之为“x64”。BSD家族及其他Linux发行版则使用“amd64”,32位版本则称为“i386”(或i486/586/686),Arch Linux用x86_64称呼此64位架构。
参考:
https://zh.wikipedia.org/wiki/X86
https://zh.wikipedia.org/wiki/X86-64
三、Linux是什么
Linux是一种自由和开放源代码的类UNIX操作系统。Linux严格来说是单指操作系统的内核,因操作系统中包含了许多用户图形接口和其他实用工具。如今Linux常用来指基于Linux的完整操作系统,内核则改以Linux内核称之。而包含了许多用户图形接口和其他实用工具的Linux系统被成为Linux发行版,比如Ubuntu、Debian等。
参考:
https://zh.wikipedia.org/wiki/Linux
四、GNU是什么
GNU是一个自由操作系统,其内容软件完全以GPL方式发布。这个操作系统是GNU计划的主要目标,名称来自GNU's Not Unix!的递归缩写,因为GNU的设计类似Unix,但它不包含具著作权的Unix代码。作为操作系统,GNU的发展仍未完成,其中最大的问题是具有完备功能的内核尚未被开发成功。
用的最多的应该是GPL,即GNU通用公共许可协议(GNU General Public License),是广泛使用的免费软件许可证 ,可以保证终端用户得自由运行,学习,共享和修改软件。
或者通俗点说:GNU由于操作系统没发展起来,然而先从软件做起,比如先在Unix系统上开发基于GNU协议的软件,最有名的GCC编译器这些。然后早期Linux在当时发展需要,就集成了GNU这些软件,使操作系统能实现我们工作需要的功能。
参考:
https://zh.wikipedia.org/wiki/GNU
https://zh.wikipedia.org/wiki/GNU%E9%80%9A%E7%94%A8%E5%85%AC%E5%85%B1%E8%AE%B8%E5%8F%AF%E8%AF%81
五、Linux与GNU的名字相争
Linux的完整操作系统中,由于这些支持用户空间的系统工具和库主要由理查德·斯托曼于1983年发起的GNU计划提供,自由软件基金会提议将其组合系统命名为GNU/Linux,但Linux不属于GNU计划,这个名称并没有得到社区的一致认同。
六、Linux与GNU的详细发展历史
参考鸟叔的Linux私房菜:http://cn.linux.vbird.org/linux_basic/0110whatislinux.php
七、Linux发行版汇总
参考:https://linux.cn/article-4130-1.html
八、单独安装Linux内核可以吗?
答案当然可以的,但是如果单单是内核,那么只能启动到init的第一个进程,然后系统什么都干不了。那么要使内核能跑起来,需要做如下几点:
1、硬件启动到BIOS时,再到硬盘,此时需要一个程序去引导,然后再启动内核。那么这个引导程序是需要集成到内核去,帮助从BIOS过来之后能成功调用起内核。
2、启动到了内核的第一个集成init之后,就应该启动其它进程来实现工作需要,比如集成一些实用的工具来保证完整性。
通过以上几点,参考下面站点看Linux内核是如何组装成完整的操作系统的,有点像Linux发行版:
https://github.com/ivandavidov/minimal-linux-script
https://github.com/ivandavidov/minimal
参考:
http://bbs.csdn.net/topics/80151778
https://gxnotes.com/article/19587.html
http://techqa.info/programming/question/27582166/How-to-run-only-the-LINUX-kernel-and-User-programs
https://superuser.com/questions/290808/running-linux-kernel-0-01-in-a-virtual-machine
https://unix.stackexchange.com/questions/175386/run-only-the-linux-kernel-and-user-programs
https://unix.stackexchange.com/questions/17122/is-it-possible-to-install-the-linux-kernel-alone
九、GNOME是什么
GNOME是一个完全由自由软件组成的桌面环境。它的目标操作系统是Linux,但是大部分的BSD系统亦支持GNOME。
通俗的说:比如内核启动到了init进程之后,然后再经过一些列进程之后,再到GNOME这个进程被调用,就能在屏幕上显示出桌面,有鼠标有显示的图形界面。如果没有这个图形界面就只能在命令行上操作。(从中是很复杂的一个过程)
对于桌面环境还有很多,随着发展可能会更多,常用的如下所示:
- GNOME
- KDE
- Xfce
- LXDE
- CDE
- Unity(Ubuntu基于GNOME2往上开发的新型桌面环境,最后还是放弃了)
- Enlightenment
- Ambient
- Étoilé
- IRIX Interactive Desktop
- Project Looking Glass
- Workbench
- OpenWindows
- Mezzo
- ROX Desktop
- Sugar
- UDE
- EDE
参考:
https://zh.wikipedia.org/wiki/GNOME
https://zh.wikipedia.org/wiki/%E6%A1%8C%E9%9D%A2%E7%8E%AF%E5%A2%83
x86、Linux、GNU、GNOME是什么的更多相关文章
- alias function varibales in Linux/GNU and Mac alias命令细说
细说,在古文言中是”奸细佞臣的话“,现如今成了”详细说明“的缩略. alias是MS-DOC中cmds中doskey的counterpart,是”别名“或者”化名“的意思 alias强大之处在于可以化 ...
- 定制x86 Linux系统
/************************************************************************************* * 定制x86 Linux ...
- How-to Install VMware Tools on Debian Stretch 9 32/64bit Linux+GNU
在虚拟机VMWARE上安装debian9 安装vmwaretools时候遇到问题 询问我IFCONFIG安装在哪里? 新版的debian不知道是用户权限问题还是使用了其他网络配置工具 vmwareto ...
- linux 进入 GNOME X 界面
CentOS 安装Gnome CentOSVmwareLinuxBlogHTML 刚开始装系统的时候,没有选Gnome或者KDE,现在想装个玩玩. 简单的安装可以参考这个:http://huruxi ...
- X86 Linux 下 SIGBUS 总结
SIGBUS 在 x86 Linux 上并不多见,但一旦出现,其调用堆栈常常让人摸不着头脑,加之信号问题各平台系统间差异较大,更让人难以理清,这里稍微总结一下 x86 Linux 上大概有哪些情形会触 ...
- Beginning Linux Programming 学习--chapter 1 Getting start--What's linux,GNU,HeaderFiles, Libraries
"文明的建立的不是机器而是思想" -- 托尔斯泰 Linux truly become a viable operating system, especially in the s ...
- linux下Gnome桌面环境的安装
在实际工作中,无论是生产环境还是公司内部环境.很多时候装的linux系统都是最小化安装的.即没有桌面环境, 那么如果有时我们又需要一个桌面环境.该怎么安装呢?其实不难,现笔者将安装方法分享如下. 测试 ...
- Linux系统GNOME主题安装与Tweaks工具使用
需要软件: GNOME Tweaks--使主题修改更加容易一个工具 安装主题: 下载主题:mac themes下载链接:https://www.gnome-look.org/p/1241688/ 这里 ...
- Linux GNU C
Linux 系统上可用的C编译器是GNU C编译器,它建立在自由软件基金会的编程许可证的基础上,因此可以自由发布.GNU C对标准C 进行一系列扩展,以增强标准C的功能. 1.零长度数组GNU C 允 ...
- Linux GNU GAS introduction
Linux汇编语法简介(GNU GAS) 声明:本教程不是介绍汇编语言和CPU指令的书籍,只是对gas的用法做一简单介绍.市面上所有讲汇编的书都是在微软的环境下,使用的是Intel的语法格式, ...
随机推荐
- elasticsearch date_histogram
(5)Date Histogram Aggregation 时间直方图聚合,专门对时间类型的字段做直方图聚合.这种需求是比较常用见得的,我们在统计时,通常就会按照固定的时间断(1个月或1年等)来做统计 ...
- 杂项-Java:JDBC
ylbtech-杂项-Java:JDBC JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访 ...
- 93.EXTJS Form之VTypes
转自:http://blog.sina.com.cn/s/blog_7778950d0100y2pg.html 本文我们主要探讨一下EXTJS的Form中验证的问题,可能用过EXTJS的Form的人都 ...
- thinkphp session db配置
这篇文章主要介绍了ThinkPHP实现将SESSION存入MYSQL的方法,需要的朋友可以参考下 本文以实例讲解了ThinkPHP实现将SESSION存入MYSQL的方法,所采用的运行环境是Thi ...
- java Collection接口
Collection 1——————Set子接口:无序,不允许重复. 2——————List子接口:有序,允许重复. Set和List对比: 1.set:检索元素的效率比较低,删除和插入效率比较高,删 ...
- [Apple开发者帐户帮助]五、管理标识符(1)注册应用程序ID
一个应用程序ID标识的配置设定档中的应用程序.它是一个由两部分组成的字符串,用于标识来自单个开发团队的一个或多个应用程序.有两种类型的应用程序ID:用于单个应用程序的显式应用程序ID,以及用于一组应用 ...
- 【LuoguP2210 USACO】 Haywire
这种答案跟序列排列顺序有关的,n比较小的(稍微大一点的也可以),求最优解的,一般都可以随机化过 随机化不一定是模拟退火或是什么遗传蚁群 哪怕只是直接随机化一个序列,只要你随机的次数够多,它都能找到正解 ...
- xhtml1-frameset.dtd
<!-- Extensible HTML version 1.0 Frameset DTD This is the same as HTML 4 Frameset except for chan ...
- HBase、Hive、MapReduce、Hadoop、Spark 开发环境搭建后的一些步骤(export导出jar包方式 或 Ant 方式)
步骤一 若是,不会HBase开发环境搭建的博文们,见我下面的这篇博客. HBase 开发环境搭建(Eclipse\MyEclipse + Maven) 步骤一里的,需要补充的.如下: 在项目名,右键, ...
- jsp页面导入excel文件的步骤及配置
上传使用flash插件 需要jquery.uploadify.min.js,uploadify.css,poi-ooxml-3.8-20120326.jar等 jsp页面: <%@include ...