1.1认识Linux 

1)什么是操作系统

2)现实生活中的操作系统

win7

Mac

Android

iOS

3) 操作系统的发展史

(1)Unix

1965年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘、显示器),连接一台电脑

为了解决数量不够用的问题

1965年左后由贝尔实验室、麻省理工学院 以及 通用电气共同发起了Multics项目,想让大型主机支持300台终端

1969年前后这个项目进度缓慢,资金短缺,贝尔实验室退出了研究

1969年从这个项目中退出的Ken Thompson当时在实验室无聊时,为了让一台空闲的电脑上能够运行“星际旅行”游行,在8月份左右趁着其妻子探亲的时间,用了1个月的时间 编写出了 Unix操作系统的原型

1970年,美国贝尔实验室的 Ken Thompson,以 BCPL语言 为基础,设计出很简单且很接近硬件的 B语言(取BCPL的首字母),并且他用B语言写了第一个UNIX操作系统。

因为B语言的跨平台性较差,为了能够在其他的电脑上也能够运行这个非常棒的Unix操作系统,Dennis Ritchie和Ken Thompson 从B语言的基础上准备研究一个更好的语言

肯·汤普逊(左)和丹尼斯·里奇(右)

1972年,美国贝尔实验室的 Dennis Ritchie在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言

1973年初,C语言的主体完成。Thompson和Ritchie迫不及待地开始用它完全重写了现在大名鼎鼎的Unix操作系统

(2)Minix

因为AT&T(通用电气)的政策改变,在Version 7 Unix推出之后,发布新的使用条款,将UNIX源代码私有化,在大学中不再能使用UNIX源代码。Andrew S. Tanenbaum(塔能鲍姆)教授为了能在课堂上教授学生操作系统运作的实务细节,决定在不使用任何AT&T的源代码前提下,自行开发与UNIX兼容的操作系统,以避免版权上的争议。他以小型UNIX(mini-UNIX)之意,将它称为MINIX。

(3)Linux

因为Minix只是教学使用,因此功能并不强,因此Torvalds利用GNU的bash当做开发环境,gcc当做编译工具,编写了Linux内核-v0.02,但是一开始Linux并不能兼容Unix,即Unix上跑的应用程序不能在Linux上跑,即应用程序与内核之间的接口不一致,因为Unix是遵循POSIX规范的,因此Torvalds修改了Linux,并遵循POSIX(Portable Operating System Interface,他规范了应用程序与内核的接口规范); 一开始Linux只适用于386,后来经过全世界的网友的帮助,最终能够兼容多种硬件;

操作系统的发展

(4)Minix没有火起来的原因

Minix的创始人说,MINIX 3没有统治世界是源于他在1992年犯下的一个错误,当时他认为BSD必然会一统天下,因为它是一个更稳定和更成熟的系统,其它操作系统难以与之竞争。因此他的MINIX的重心集中在教育上。四名BSD开发者已经成立了一家公司销售BSD系统,他们甚至还有一个有趣的电话号码1-800-ITS-UNIX。然而他们正因为这个电话号码而惹火上身。美国电话电报公司因电话号码而提起诉讼。官司打了三年才解决。在此期间,BSD陷于停滞,而Linux则借此一飞冲天。他的错误在于没有意识官司竟然持续了如此长的时间,以及BSD会因此受到削弱。如果美国电话电报公司没有起诉,Linux永远不会流行起来,BSD将统治世界。

 

1.2 Linux的不同版本以及应用领域

1)Linux内核及发行版介绍

(1)Linux内核版本

内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。

Linux内核版本又分为稳定版和开发版,两种版本是相互关联,相互循环:

  • 稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些bug或加入一些新的驱动程序。
  • 开发版:由于要试验各种解决方案,所以变化很快。

内核源码网址:http://www.kernel.org 所有来自全世界的对Linux源码的修改最终都会汇总到这个网站,由Linus领导的开源社区对其进行甄别和修改最终决定是否进入到Linux主线内核源码中。

(2)Linux发行版本

Linux发行版 (也被叫做 GNU/Linux 发行版) 通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件。

Fedora

Redhat

Ubuntu

2)应用领域

(1)个人桌面领域的应用

此领域是传统linux应用最薄弱的环节,传统linux由于界面简单、操作复杂、应用软件少的缺点,一直被windows所压制,但近些年来随着ubuntu、fedora等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,linux在个人桌面领域的占有率在逐渐的提高

典型代表:ubuntu、fedora、suse linux

在Ubuntu中玩QQ

(2)服务器领域

linux在服务器领域的应用是其重要分支

linux免费、稳定、高效等特点在这里得到了很好的体现,但早期因为维护、运行等原因同样受到了很大的限制,但近些年来linux服务器市场得到了飞速的提升,尤其在一些高端领域尤为广泛

典型代表:

  • Red Hat公司的AS系列
  • 完全开源的debian系列
  • suse EnterPrise 11系列等

(3)嵌入式领域

近些年来linux在嵌入式领域的应用得到了飞速的提高

linux运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百KB等特点,使其近些年来在嵌入式领域的应用得到非常大的提高

主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、等都是其应用领域,得到了摩托罗拉、三星、NEC、Google等公司的大力推广

-------------------------------------

来源:整理自网络

Linux学习笔记之一————什么是Linux及其应用领域相关推荐

  1. Linux学习笔记(二) -- Linux学习笔记(二) – 解决VMware主窗口中的虚拟机窗口太小的方法

    1.问题描述 在虚拟机中安装完ubuntu操作系统后,我们会发现ubuntu界面在主窗口中占比很小,如下图所示: 这给操作带来了极大的不便. 2.解决步骤 1.在VMware中启动ubuntu系统: ...

  2. Linux学习笔记5——什么是Linux:Linux 核心版本与 Linux 发布商版本、如何学linux

    一.Linux是什么?它怎么来的? 1,linux是什么? 不用多说,linux就是操作系统,但我在培训的时候讲课的老师强调,linux不是操作系统而是内核,kernel...从操作系统的概念来看,操 ...

  3. 嵌入式Linux学习笔记(1-1)——linux系统搭建

    版权声明:本文为博主原创文章,未经博主允许不得转载. 学习嵌入式linux已经有2年时间,虽然时间不长,但一路走来遇到很多问题,绕了很多弯路.写这篇文章的目的是分享我的经验,以供初学者参考,希望能够帮 ...

  4. 学习笔记 - Linux学习笔记 第四讲 Linux常用命令

    第四讲 Linux常用命令 4.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls clear 清屏命令ls -l #l代表long ls -a #a代表all ls -h #h代表 ...

  5. 【Linux学习笔记】一、Linux 时间问题

    Linux时间问题 理解Linux时间问题 1.Windows 和Linux对时间理解的不同 Windows和 Ubuntu它们在默认情况下看待硬件时间的方式不一样 *Windows把系统BOIS时间 ...

  6. Linux学习笔记(一)Linux常用命令

    视频教程:兄弟连Linux教程.个人感觉两位老师讲得非常有意思. 学习时做的简单的记录,可能会不全. 文章目录 文件处理命令 目录处理命令 权限管理命令 文件搜索命令 帮助命令 用户管理命令 压缩解压 ...

  7. 嵌入式Linux学习笔记(1-3)——linux系统常用工具

    文本介绍tftp.nfs.smb共3款常用服务器安装过程.在今后学习,我们常常会使用到这3款工具.这篇文章介绍tftp的安装过程. 1.tftp服务器 运行setup命令,查看tftp是否已安装. 1 ...

  8. 【Linux学习笔记】 - 什么是Linux?

    Linux = Linux内核 + GNU工具 组成部分 Linux内核 GUN工具 图形化桌面环境 应用软件 Linux内核 地位:Linux核心,控制计算机系统上的所有硬件和软件.必要时,分配硬件 ...

  9. Linux学习笔记(3)linux服务管理与启停

    一.LINUX 系统服务管理 1.RHEL/OEL 6.X及之前 service命令用于对系统服务进行管理,比如启动(start).停止(stop).重启(restart).查看状态(status)等 ...

最新文章

  1. idea的优秀博客推荐
  2. 直播 | 丁霄汉:结构重参数化与通用视觉模型的基本设计元素
  3. 【登录异常解决】Ubuntu 输入正确的密码后重新返回到登陆界面
  4. 多线程:什么是ThreadLocal?应用场景?
  5. Python中使用pip安装库时提示:远程主机强迫关闭了一个现有的连接
  6. Uva10795 A Different Task
  7. 内置的进制转换的方法---小笔记
  8. Property or method “id“ is not defined on the instance but referenced during render.Make sure ......
  9. JMETER分布式原理
  10. 几道比较难的SQL题
  11. JQueryDOM之CSS操作
  12. Visual Studio Code-GO tasks 设置 (实现在vsc下直接编译输出的功能)
  13. linux下磁盘分区方法详解
  14. 在文件上传的基础上设计一个学生基本信息表
  15. web测试抓包基本功——使用Google的F12
  16. AM、FM、PM调制技术
  17. 独家 | 想成为一名数据科学家?你得先读读这篇文章
  18. js去除字符串的首尾的逗号
  19. Echarts实现中国地图线路图特效(一对多发射点)
  20. 中心差商公式不同的h计算近似一(二)阶导数

热门文章

  1. CENTOS7 Python3.7 PyAudio 安装
  2. Spring Cloud-鸿鹄Cloud分布式微服务云系统—架构图
  3. Haproxy+多台MySQL从服务器(Slave) 实现负载均衡
  4. 新手学习Java必需要知道的这些基本概念!
  5. am335x PDK3.0 设置为单网口配置记录
  6. SpringMVC 数据的格式化、JSR 303数据校验和国际化
  7. lintcode二叉树的锯齿形层次遍历 (双端队列)
  8. 安装MySql出现Error Nr.1045的解决办法
  9. 学习Java,容易被你忽略的小细节(2)
  10. 花开的声音 - 张靓颖