1.Linux是什么?
- UNIX设计理念:
- 所有的程序或系统装置都是文件。
- 不管构建编辑器还是附属文件,所写的程序只有一个目的,就是有效地完成目标
- 操作系统:应用程序->系统调用->内核->硬件。其中系统调用和内核就是操作系统主要的功能,而应用程序一般是根据操作系统给出的系统调用接口来设计。操作系统的内核必须要跟硬件配合,以提供及控制硬件的资源进行良好的工作
- 纯种的UNIX:目前被称为纯种的UNIX指的就是System V 以及BSD这两套。
- 编辑器和编译器是两种不同的概念
- GPL(GNU General Public License):自由软件的重点并不是指"免费",而是指具有"自由度(freedom)"的软件,史托曼进一步说明了自由度的意义是:用户可以自由运行、复制、再发型、学习、修改与强化自由软件
- 多任务和单任务:
- 多任务:一个CPU就会在不同的程序间切换。
- 单任务:一个CPU在一个时间内仅能进行一个程序。单任务和多任务的生成主要为:CPU芯片支持 + 操作系统的工作调度设计
- Linux主要参考标准的POSIX接口规范,因为POSIX标准主要是针对UNIX与一些软件运行时候的标准规范,只要依据这些标准规范来设计的内核与软件,理论上就可以执行UNIX的程序
- Linux开发的主要原因:
- 开源导致可移植性
- 虚拟团队的支持
- 模块化:Linux随时都有程序代码加入的状况,于是Linux便逐渐开发成具有模块的功能。即是将某些功能独立于内核外,在需要的时候才加载到内核中。
- Linux的精神:托瓦兹的Linux开发副手,以及资源传送修补程序的黑客志愿者,其实都没有见过面,而且彼此分布在地球的各个角落,大家群策群力共同开发出现今天的Linux-----虚拟团队。
- Linux的内核版本(栗子:2.6.18-92.e15):
- 2为主版本,其中主版本的数字又分:
- 主次版本为奇数:开发中版本(development)如2.5
- 主次版本为偶数:稳定版本(stable)如2.6
- 6为次版本
- 18为释出版本,释出版本则是在主次版本架构不变的情况下,新增的功能累积到一定的程度后所新释出得内核版本
- 92.e15为修订版本:有针对某个版本的内核修改过部分的程序代码,那么那个被修改过的新的内核版本就可以加上修改版本了。
- Linux distribution:
- 可完全安装的Linux发布套件
- Linux早起都是由黑客工程师所开发维护的,他们并没有考虑到一般用户的能力
- Kernel + Softwares + Tools的可完全安装的系统,我们称之为Linux distribution
- 针对于Linux distribution标准设定:
- Linux Standard Base(LSB)
- 目录架构File system Hierarchy Standard(FHS)
- 每个Linux distribution唯一的差别可能就是该开发者自家所开发出来的管理工具以及套件管理的模式。distribution主要分为RPM方式安装和debian的dpkg方式安装
- Linux in China:
- CLE套件对于很多进行了翻译和开发中文套件
- 关于授权:
- Open Source(开放源码)
- GNU General Public License
- Berkeley Software Distribution(BSD)
- Apache License Version 2.0:如果你修改过该软件,软件的名称依旧需要定名为Apache才行
- Close Source
- Freeware
- Shareware:带有试用期的软件
1.Linux是什么?的更多相关文章
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- Linux 内核概述 - Linux Kernel
Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- NodeJs在Linux下使用的各种问题
环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...
- [linux]阿里云主机的免登陆安全SSH配置与思考
公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
- SQL Server on Linux 理由浅析
SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...
- Microsoft Loves Linux
微软新任CEO纳德拉提出的“Microsoft Loves Linux”,并且微软宣布.NET框架的开源,近期Microsoft不但宣布了Linux平台的SQL Server,还宣布了Microsof ...
- Linux 江湖系列阶段性总结
引言 我使用 Linux 已经有很多年了,最开始接触 Linux 的时候是从 RedHat 9(没有 Enterprise),中途换过 N 个不同的发行版.多年前,我在 BlogJava 上面分享 J ...
随机推荐
- October 16th Week 43rd Sunday 2016
Life is not a problem to be solved, but a reality to be experienced. 人生不是待解决的难题,而是等着我们去体验的现实. Life i ...
- js小游戏---智力游戏
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD ...
- 教你几种在SQLServer中删除重复数据方法(转)
转载地址:http://www.jb51.net/article/22980.htm 方法一 复制代码 代码如下: declare @max integer,@id integer declare c ...
- 对DIP IoC DI的理解与运用
DIP,IoC,DI基本概念 依赖倒置原则(DIP,Dependency Inverse Principle):强调系统的“高层组件”不应当依赖于“底层组件”,并且不论是“高层组件”还是“底层组件”都 ...
- Python爬虫学习(6): 爬取MM图片
为了有趣我们今天就主要去爬取以下MM的图片,并将其按名保存在本地.要爬取的网站为: 大秀台模特网 1. 分析网站 进入官网后我们发现有很多分类: 而我们要爬取的模特中的女模内容,点进入之后其网址为:h ...
- XAMPP PHPSTORM XDEBUG 配合使用
1.xdebug 配置 安装完xampp 进入 php.ini [XDebug]zend_extension = "C:\xampp\php\ext\php_xdebug.dll" ...
- Leetcode Permutations
Given a collection of numbers, return all possible permutations. For example,[1,2,3] have the follow ...
- bzoj1468 Tree
最经典的点分治题目,在递归子树的时候减去在算父亲时的不合法方案. #include<iostream> #include<cstdio> #include<cstring ...
- DB2常用命令
DB2安装启动服务中启动不了,可用command启动并查看windows系统的日志.1.启动数据库 db2start2.停止数据库 db2stop3.连接数据库运行 db2命令之前要先运行db2c ...
- Predicate<T>与Func<T, bool>泛型委托
引用别人的: static void Main(string[] args) { List<string> l = new List<string>(); l.Add(&quo ...