1. 认识操作系统
    1. 操作系统的作用

把计算机系统中对硬件设备的操作封装起来,供应用软件调用。

  1. 2. 常见操作系统

       1.2.1 PC端OS

1.2.2  移动端OS

1.2.3  服务端OS

 2 .Linux来历

       2.1. Unix的局限

硬件绑定:早期的Unix系统都是针对专门的硬件系统开发的,不同厂商都是为自己的服务器开发专门的Unix操作系统。

版权受限:出于商业等方面因素的考虑,AT&T在1979年发行第七版Unix系统时收回了Unix的版权。

2.2 用于教学的Minix

在Unix收回版权的背景下,出于学院教学的需要,荷兰阿姆斯特丹的Vrije大学计算机科学系的Andrew S. Tanenbaum教授开发了一个“类Unix”系统:Minix。之所以称为类Unix,是由于Tanenbaum教授为了避免版权纠纷在开发过程中刻意完全不看Unix本身代码,但同时要做到在使用时让用户的操作方式和使用Unix时一样。

2.3 受到启发的Linux

Minix最有名的学生用户是Linus Torvalds,他在芬兰的赫尔辛基大学用Minix操作平台建立了一个新的操作系统的内核,他把它叫做Linux。

Linux是 Linus Torvalds受到Minix的影响而开发的(Linus Torvalds不喜欢他的386电脑上的MS-DOS操作系统,安装了Minix,并以它为样本开发了原始的Linux内核)。

“Talk is cheap,show me the code!”

3. Linux作为服务器端系统的优势

Linux内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE。

Linus的优势主要体现在下面几个方面:

3.1 性能强劲,安全稳定

Linux本来就是基于Unix概念而发展出来的操作系统,当然也继承了Unix稳定高效的特点。使用Linux系统的主机连续工作1年以上不死机、不重启是非常常见的。所以很多电影、动画中的特效制作这样需要强大运算能力的工作都是运行在Linux系统之上。

3.2 可定制

如果你对Linux足够了解,完全可以使用Linux内核搭配需要的组件构成一个定制版系统,甚至你可以修改Linux源码进行深度定制

3.3  免费或少许费用

学习Linux可以免费使用Linux的各种发行版,在商业用途中往往也只是支付很少的费用即可

3.4  硬件配置要求低

Linux内核只有几KB大小,仅运行内核的话需要的系统开销很小,以命令行方式操作Linux也一样。以图形化界面方式运行Linux需要的资源也比Windows更少。

3.5  嵌入移动设备

由于Linux只需要很少的资源就能够驱动所有硬件设备工作,所以非常适合嵌入到手机等移动设备中,例如现在我们使用的Android系统就是以Linux为核心的。

4. Linux发行版

Linus和他的虚拟团队的工作仅仅是开发了Linux内核以及附带的一些工具,尚不能作为一个完整的可以交给终端用户使用的操作系统。为了方便用户使用,很多的商业公司或非营利团体,就将Linux 内核(包括工具)与可运行的软件整合起来,再加上系统的安装工具。这个『内核+软件+工具』的完全可安装的整体,我们称之为Linux distribution,这就是Linux的发行版,港台腔叫发行套件。这是Linux这样的开放式系统和Windows、Mac等这些封闭式系统的一个显著差别。

初学Linux通常会选择CentOS,这其实是RedHat收费后去掉收费功能而发布的一个免费的社区版。

主要的Linux发行版有:

4.1 RedHat

Red Hat: http://www.redhat.com

4.2  Fedora

Fedora: http://fedoraproject.org/

4.3  Debian

Debian: http://www.debian.org/

4.4  Ubuntu

Ubuntu: http://www.ubuntu.com/

4.5  KaLi

Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统

kali :  http://www.kali.org.cn/forum-68-1.html

4.6  CentOS

CentOS: http://www.centos.org/

我们可以从网易开源镜像站获取CentOS系统的镜像文件

http://mirrors.163.com/

Linux (一)概述的更多相关文章

  1. Linux学习笔记之三————Linux命令概述

    一.引言 很多人可能在电视或电影中看到过类似的场景,黑客面对一个黑色的屏幕,上面飘着密密麻麻的字符,梆梆一顿敲,就完成了窃取资料的任务. Linux 刚出世时没有什么图形界面,所有的操作全靠命令完成, ...

  2. Linux的概述与分类

    1.Linux的概述 Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境.Linux是由Linus Torvalds(林纳斯·托瓦兹)起初开发的, ...

  3. Linux网络管理概述

    概述:计算机基础知识.网络基础知识其实是所有的程序员所必须的,甚至已经不仅仅是程序员的专利,而是每一个人都应该掌握的计算机知识. 主要内容: 一.网络基础 二.Linux网络配置 三.Linux网络命 ...

  4. Linux进程概述

    一.介绍 当linux系统中的一个进程运行起来的时候,总是要访问系统的资源,访问文件或者向其他的进程发送信号.系统是否允许其进行这些操作?系统是根据什么来判断该进程的权限?这些问题是和进程信任状(pr ...

  5. Linux内核概述

    概述 1. 多数服务器都是Linux,Windows只在PC方面应用. 2. .NET只能在Windows中应用,适用于中小型项目,在大型项目中应用很少.现在出现了Windows服务器(外围的服务器) ...

  6. Linux 内核概述 - Linux Kernel

    Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...

  7. linux进程间通信-概述

    一 进程间通信有如下的目的: 1.数据传输,一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M之间:2.共享数据,多个进程想要操作共享数据,一个进程对数据的修改,其他进程应该立刻看到 ...

  8. linux进程间通信概述

    一个大型的应用系统,往往需要众多进程协作,进程间通信的重要性显而易见. 进程间通信有如下一些目的: 数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间. 共享数据: ...

  9. 系统启动 之 Linux系统启动概述(2)

    博客:http://blog.csdn.net/younger_china/article/details/51615916 Linu系统启动是一个"冗长乏味"的过程,那么我们现就 ...

  10. 系统启动 之 Linux系统启动概述(1)

    随着智能终端功能的越来越庞大,与之,硬件配置越来越高,开机时间却越来越长.人们在享受强大功能的同时,对冗长的智能终端的开机时间却越来越缺乏耐心. 为了"取悦"用户,需要提供较好的用 ...

随机推荐

  1. 推荐算法_CIKM-2019-AnalytiCup 冠军源码解读

    最近在帮一初创app写推荐系统,顺便学习一波用户兴趣高速检索的冠军算法. 写总结前贴出冠军代码的git地址:https://github.com/ChuanyuXue/CIKM-2019-Analyt ...

  2. Qt 操作sql server数据库

    添加qtsql的库 连接数据库 QSqlDatabase_db = QSqlDatabase::addDatabase("QODBC"); _db.setHostName(); _ ...

  3. u-boot 源码分析(1) 启动过程分析

    u-boot 源码分析(1) 启动过程分析 文章目录 u-boot 源码分析(1) 启动过程分析 前言 配置 源码结构 api arch board common cmd drivers fs Kbu ...

  4. java-mysql类型对照

    java mysql 数据类型对照 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述             VARCHAR L+N VARCHAR java.lang. ...

  5. git使用-忽略文件更新的几种方法

    有几种情况我们不希望本地文件在 git 里面得到更新. 一.情况:始终不需要git跟踪本地的一些文件 方法:使用.gitignore文件忽略 解释: 使用git init操作创建git控制管理之后,默 ...

  6. Pytorch使用分布式训练,单机多卡

    pytorch的并行分为模型并行.数据并行 左侧模型并行:是网络太大,一张卡存不了,那么拆分,然后进行模型并行训练. 右侧数据并行:多个显卡同时采用数据训练网络的副本. 一.模型并行 二.数据并行 数 ...

  7. JAVA实现拼手气红包算法

    实现拼手气红包算法,有以下几个需要注意的地方: 抢红包的期望收益应与先后顺序无关 保证每个用户至少能抢到一个预设的最小金额,人民币红包设置的最小金额一般是0.01元,如果需要发其他货币类型的红包,比如 ...

  8. 2018-06-28 jq CSS处理

    CSS处理 1.CSS样式 css() -> 获取jq对象的css样式 css({'':"'}) ->设置jq对象的css样式 相当于js对象的style()方法 2.位置 of ...

  9. MySQL的列约束

    1.列约束 (1)主键约束——PRIMARY KEY (2)非空约束——NOT NULL 声明了非空约束的列上,不允许使用NULL (3)唯一约束——UNIQUE 声明了唯一约束的列上不能插入重复的值 ...

  10. javascript 内存和连等赋值

    JavaScript深入之内存空间详细图解 https://juejin.im/post/5bf4c3eff265da613356348a 理解javascript中的连续赋值 https://www ...