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 或者 在图形化桌面右上角点开设置,在设置窗口选择详 ...
随机推荐
- VS2010/MFC常用控件:图片控件Picture Control
图片控件Picture Control 本节主要讲一种简单实用的控件,图片控件Picture Control.我们可以在界面某个位置放入图片控件,显示图片以美化界面. 图片控件简介 图片控件和前面讲到 ...
- 怎样注册uber司机 如何注册uber司机 最新详细攻略
怎样注册uber司机 如何注册加入uber司机 全国加入Uber 的要求 车辆要求:要求裸车价8万以上,车龄5年以内,第三者责任险保额30万以上,不支持20万以下的面包车/商务车,不支持4座以下车辆. ...
- JAVA实例变量的初始化过程
假设有这样一段代码: public class Cat { private String name; private int age; public String toString() { retur ...
- vb6.0 倒计时
Dim t Dim start As Boolean Private Sub Command1_Click() If start = False Then t = Val(Text1) * 3600 ...
- Cocos2d-x3.0 捕Android菜单键和返回键
原文地址:http://blog.csdn.net/qqmcy/article/details/26172665 .h void onKeyReleased(EventKeyboard::KeyCod ...
- UIView 中 frame, bounds, center 属性的关系
最近一直在学 iOS 开发,所以专门创建了这样一个类别,将自己学习中的一些问题整理,记录下来.由于自己是初学者,所以所写的文章非常基础,写这个类别一是为了给自己留下存 档,二是为了给和我有同样问题的初 ...
- Web前端开发工程师为什么讨厌IE6!
- java集合分析(转载)
参考文章:浅谈Java中的Set.List.Map的区别 Java 7 Collections详解 java中集合分为三类: Set(集) List(列表) Map(映射) Set和List继承自Co ...
- [转] iOS多线程编程之NSOperation和NSOperationQueue的使用
<iOS多线程编程之NSThread的使用> 介绍三种多线程编程和NSThread的使用,这篇介绍NSOperation的使用. 使用 NSOperation的方式有两种, 一种是用定义好 ...
- IAR Embedded Workbench for ARM 6.50.6 & 6.60.1 破解补丁
IAR EWARM 6.50.6 & 6.60.1 破解 破解原理和方法见:http://blog.csdn.net/chivalrys/article/details/8564568 IAR ...