当前位置: 首页 > news >正文

linux操作系统介绍_Linux和ubuntu的区别

e0ad29b2124d7e954441f934b6c79471.png

大家听别人介绍自己的Ubuntu时,会听到“我的操作系统是Linux的”。其实,这样介绍是缺乏严谨性滴。我们只要知道两点,基本上就搞清楚Linux和Ubuntu的关系:

1. 严格来说,Linux并不是操作系统,而是一个操作系统的内核,严谨一些可以说:linux 一般指 GNU 套件加上 linux 内核。

2. Ubuntu基于linux内核的桌面PC操作系统,术语上喜欢称Ubuntu是一个 linux 发行版(因为debian(其实也是一款操作系统) 是 linux 的一个发行版,而 ubuntu 是属于 debian 系列的一个分支,所以...)。

下面我们深入一下下。首先,我们看看一个具有linux内核的操作系统包含哪些部分。一般包含四大部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以很轻松地运行应用程序、管理文件并使用整个系统。

1. Linux应用程序

一个好的操作系统会提供一套方便于用户使用系统的应用程序,如文本编辑器、办公套件、Internet工具、数据库等。

2. Linux文件系统

文件系统是文件存放在存储设备(如磁盘)上的组织方法。如EXT2、EXT3、FAT、FAT32、VFAT等。

3. Linux Shell

Shell是操作系统系统的用户界面,提供了用户与内核进行交互操作的一种接口,是一个命令解释器。它接收用户输入的命令并把它送入内核去执行。

4. Linux内核

内核是操作系统的核心。一个操作系统是需要执行一些任务,如请求内存资源、执行计算, 连接网络,等等. Linux内核就负责处理所有这样的请求,就像人的大脑一样。

Linux内核从功能上讲具有五大模块化功能:进程管理、内存管理、文件系统管理、设备控制和网络管理。

4.1 进程管理的体现:

Linux内核负责进程创建和销毁, 并完成进程之间的通信,以及进程的输入和输出.而且,进程管理控制了多个进程对Soc上的一个或者多个cpu资源的使用

4.2 内存管理

内存资源的使用策略对操作系统性能体现来说,尤为重要。 内核在有限的内存资源上,为每一个进程建立了一个虚拟地址空间。 内核的不同功能部分与内存管理子系统通过一套函数调用交互, 使得通信高效简单。

4.3 文件系统管理

Linux操作系统中,几乎任何东西都可看作为一个文件(一切皆文件). 内核中大量使用kobject等结构体,来把一堆非结构化的硬件组织成一种多层次的数据系统。另外, Linux 支持多个文件系统类型。如ext4等

4.4 设备控制

几乎任何一个操作系统最终都运行在一个物理平台上。内核中包含访问平台上硬件设备的驱动代码。

4.5 网络功能

大部分网络操作不会关联具体的进程,因为数据包的传输是异步事件。应用程序访问数据包之前,内核完成数据包的收集、标识和分发等任务。

那Ubuntu作为操作系统,具有什么特色呢?

目前看来,Ubuntu尊崇“免费开源和个性化”,拥有很人性化的亮丽的交互界面,强大的软件源支持,主流驱动大都可以在安装包中找到;另外因为Ubuntu是基于 debian 系列的,所以有 dpkg 套件可以在线获取安装软件,拥有完善的包管理机制,兼容性好,应用非常多,可以下载很多个性化小工具,个性化体验非常棒;可以说Ubuntu是Linux发行版中最好的PC操作系统。

因为这些原因,Ubuntu常常作为linux爱好者来学习linux应用编程和linux驱动开发的平台。


推荐大家一个嵌入式资料分享群:938303686 入群有全套学习视频资料赠送


参考资料:

linux基础​www.makeru.com.cn 快速上手linux​www.makeru.com.cn Linux入门基础教程​www.makeru.com.cn Linux入门学习方法​www.makeru.com.cn linux之C语言内存管理​www.makeru.com.cn

相关文章:

  • 王怀南+邵亦波+王建硕=?
  • lua number 范围_南京车床的加工范围有哪些
  • [数据库]Oracle的培训讲师是个东北人
  • el-form-item 如何限制只能输入数字_TOC是如何帮助敏捷软件开发让其应用更为行之有效的?...
  • 新版手机浏览器_手机uc浏览器下载并安装_uc浏览器2020最新版免费下载 安卓版 V13.1.5.1095...
  • python储存与读取-Python Numpy中数据的常用保存与读取方法
  • ERP项目为何总是与成功失之交臂
  • ctrl v不能复制粘贴了 怎么处理_PDF怎么转换成Word?就是这么简单
  • javascript基础教程_JavaScript基础教程(七)函数的编写与使用
  • 爱的距离 ---"千里之外"
  • win7开机慢_[Windows] 【老旧电脑的福音】WIN10LTSB2015开机7秒
  • Mozilla Firefox 提高速度的方法
  • 电脑卡反应慢怎么处理_如果电脑不能读取SD卡怎么办
  • 一个批量更改文件名的Python脚本
  • iphone开机白苹果_苹果iPhone6s开机白苹果进不去是怎么回事?
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【翻译】babel对TC39装饰器草案的实现
  • 【前端学习】-粗谈选择器
  • EOS是什么
  • express如何解决request entity too large问题
  • Hibernate【inverse和cascade属性】知识要点
  • If…else
  • Java 内存分配及垃圾回收机制初探
  • Java深入 - 深入理解Java集合
  • LeetCode算法系列_0891_子序列宽度之和
  • linux安装openssl、swoole等扩展的具体步骤
  • Redis在Web项目中的应用与实践
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • Vue 2.3、2.4 知识点小结
  • 初识MongoDB分片
  • 前端临床手札——文件上传
  • 突破自己的技术思维
  • 你对linux中grep命令知道多少?
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • Linux权限管理(week1_day5)--技术流ken
  • ​2020 年大前端技术趋势解读
  • #Linux(权限管理)
  • #每日一题合集#牛客JZ23-JZ33
  • $.each()与$(selector).each()
  • (07)Hive——窗口函数详解
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (C语言)球球大作战
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • /proc/vmstat 详解
  • /usr/bin/env: node: No such file or directory
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [《百万宝贝》观后]To be or not to be?
  • [120_移动开发Android]008_android开发之Pull操作xml文件
  • [20180224]expdp query 写法问题.txt
  • [30期] 我的学习方法
  • [AutoSar NVM] 存储架构
  • [BUUCTF]-Reverse:reverse3解析