Linux的起源、特点和版本号
前言
最近上陈渝老师的《高级操作系统》,需要在ucore实验平台上完成一个麻雀虽小五脏俱全的OS,本着看过一小半《30天自制操作系统》的自信,以为这不过是小case,怎料被虐得惨不忍睹,好多源代码看不懂,难受的无助感四处蔓延。但是,这点小小的挫折怎能打击一个内心强大的程序猿呢?仔细分析了一下难点,其实汇编语言和Linux C编程不够熟练,连Linux一些常用的Shell命令都想不起来,真是不应该。so 花时间去学吧,昨晚在紫荆那儿淘了一本《Linux C编程……》,正适合我这种Linux菜鸟循序渐进地学。从今天开始系统地学习汇编语言和Linux C编程,还有总结整理相关的OS原理,Go on!
Linux的起源、特点和版本号
Linux OS是一个类UNIX OS,最早由芬兰人Linus Torvalds设计。后来经过世界各地成千上万的志愿者设计和实现,目的是为了建立不受任何商品化软件版权制约的、全世界都可以自用使用的OS。虽然Linux借鉴了UNIX的许多思想,但是所有的源代码都是重写的。
Linux具备以下一些重要特点:
- Linux是一个免费软件。这个不用多说。全世界无数的程序员的精华作品,而且还在不断地改善壮大。
- 完全兼容POSIX1.0标准。
- 多用户、多任务系统。多用户是指每个用户都对自己的文件设备有相应独立的权利,相互之间不受影响。多任务是指多个程序可以独立地运行。
- 良好的用户界面。Linux为用户提供了两种界面:文本界面和图形用户界面。我们都来用Shell吧,哈哈。
- 支持多种文件系统。
- 丰富的网络功能。极其完善的内置网络功能可以说是linux领先于其他OS的一大特点。
- 可靠的系统安全。
- 良好的可移植性。Linux可以在从微型计算机到大型计算机的任何环境和任何平台上运行。我正想入手个树莓派来玩玩呢。
Linux的版本号也挺有意思的。值得注意的是,Linux的版本号其实是分为两部分的,即内核(Kernel)和发行套件(Distribution)版本,这两者是相对独立的。
Linux每个内核版本都是类似x.y.zz-www的一组数字,其中,x.y为Linux的主版本号,zz是次版本号,www则是发行号(它和发行版本号无关)。在Ubuntu的Shell中输入“uname -a”命令可以查看相应的内核版本。我在虚拟机上查看了一下内核版本,如下图所示。

而发行套件本质上只是Linux的一个大软件包,在Kernel的基础上集成了类似C/C++编译器、Perl脚本解释程序、Shell命令解释器等。较为流行的发行版本有Ubuntu、Fedora、Debian、红旗Linux等。在Shell中可以通过“sudo lsb_release -a”来查看相应的发行套件版本。

我觉得Linux中有几个术语也是应该了解的。
- GNU(GNU’s Not UNIX),目的是为了实现一个符合UNIX系统接口标准、软件丰富而且可以自由使用的软件库。
- GPL(GNU General Public License)GNU通用公共许可证,GPL要求在发布软件的同时必须发布源代码,而且允许任何用户能够以源代码的形式将软件复制或者发布给别的用户。
- POSIX(Portable Operating System Interface of UNIX)可移植的UNIX操作系统接口。
Linux的起源、特点和版本号的更多相关文章
- Linux系统起源及主流发行版
Linux系统起源及主流发行版 本文首先介绍了三大服务器系统,然后介绍了Linux系统的出现背景.以及主要release版本,最后介绍了Linux的文件系统和目录结构. 服务器系统,即安装在服 ...
- 【转】查看 Linux 发行版名称和版本号的 8 种方法
如果你加入了一家新公司,要为开发团队安装所需的软件并重启服务,这个时候首先要弄清楚它们运行在什么发行版以及哪个版本的系统上,你才能正确完成后续的工作.作为系统管理员,充分了解系统信息是首要的任务. 查 ...
- LINUX下动态库及版本号控制
针对同一动态组件的不同版本链接和加载. 一.概念 DLL HELL字面意思是DLL"灾难",是由于com组件(动态库)升级引起的程序不能运行的情况 ...
- LINUX总结第13篇:LINUX下动态库及版本号控制
感觉讲得挺详细 注: ln 命令用法 ln –s 源文件 目标文件 (目标文件即为软链接文件) 可用ls -l查看软链接文件具体指向哪个文件 目录[-] 1. File libhello.c 2. F ...
- Linux通过网卡驱动程序和版本号的信息
检查卡制造商和信号 查看基本信息:lspci 查看详情:lspci -vvv # 3小作文v 查看卡信息:lspci | grep Ethernet 查看网卡驱动 查看网卡驱动信息:lspci - ...
- Linux系统中查询发行版本号以及内核版本的命令总结
了解Linux发行版本的版本号是一项非常重要的事情,大多数软件对系统的版本都有要求,发行版本号与软件不匹配,软件将无法安装或者无法使用.这边集合市面上流行的Linux发行版本版本号查询方法.有了这边文 ...
- Linux 小知识翻译 - 「版本号」的命名方式
包括OS,所有的软件都有版本号信息.一般来说,版本号的增大表示软件的功能增强了或者修正了一些Bug,也就是表示软件更新了. 版本号的命名方式没有统一的标准.每种软件都不一样. 大部分情况下,版本号以「 ...
- linux下node.js 查版本号和更新 how to update node
我用的Mac,不是windows,不太清楚那个怎么搞. Linux下就是终端直接命令 //查版本号 node --version // v6.10.1 我很久没更了 //更新 //先清理Npm的cac ...
- Linux学习笔记-centos查看版本号和内核信息
1.查看centos系统版本号: 打开终端窗口: cat /etc/redhat-release 2.查看Linux内核版本信息: uname -a 或者 在图形化桌面右上角点开设置,在设置窗口选择详 ...
随机推荐
- java对象的比较分析
关于对象的比较我们可以通过以下三种手段来实现 一.利用"=="比较引用 Java中,当比较简单类型变量时用"==",只要两个简单类型值相等即返回ture,否则返 ...
- java开发工具比较(16个工具修订版)
1.JDK (Java Development Kit)Java开发工具集 SUN的Java不仅提了一个丰富的语言和运行环境,而且还提了一个免费的Java开发工具集(JDK).开发人员和最终用户可以利 ...
- express小记
>全局安装方法 `npm install -g express` >cmd切换到你想要放得目录,`express -t ejs blog` 这样就可以生成一个blog文件夹 >还需要 ...
- 简单的web三层架构系统【第一版】
SQLhelper助手类编写: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using Sys ...
- 解决iOS7中UITableView在使用autolayout时layoutSubviews方法导致的crash
近期公司项目上线后,出现了大量的crash,发生在iOS7系统上,和UITableView相关: Auto Layout still required after executing -layoutS ...
- untiy 播放视频
利用 MovieTexture 类 放入视频 视频不能使flv的 建立一个平面 作为屏幕,利用Material 播放动画,剩下的就是将平面放大和屏幕一样/ public MovieTexture My ...
- ajax联动
1.编写html代码,引入ajax文件 <script type="text/javascript" src="js/ajax.js"></s ...
- BZOJ 2662: [BeiJing wc2012]冻结(最短路)
这道题和 BZOJ 2763飞行路线 几乎一模一样..然后飞行路线我是1A,这道题WA了4次,我开始怀疑我的智商了.. ---------------------------------------- ...
- IDEA 15 社区版 Maven项目 启动Tomcat调试
1.在pom下添加Tomcat插件: <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifac ...
- monkeyrunner学习--手机按键
按下HOME键 device.press('KEYCODE_HOME','DOWN_AND_UP') 按下BACK键 device.press('KEYCODE_BACK','DOWN_AND_UP' ...