什么是Linux?

文章目录


一、Linux的起源

Linux 操作系统诞生于 1991 年 ,是由芬兰大学生林纳斯·托瓦兹(Linus Torvalds)发起的一个项目。目前,Linux 是世界上使用最广泛的操作系统之一,被应用于从智能手机到超级计算机的各种设备中。此外,Linux 还是互联网服务器、云计算平台和许多嵌入式系统的首选操作系统。

二、Linux的组成

2.1、Linux组成

1、Linux 内核 (Kernel)

作用:内核是操作系统的核心部分,负责管理和控制计算机硬件资源,如 CPU、内存、磁盘等。它提供了进程管理、内存管理、文件系统、网络协议栈等功能。

特点:Linux 内核是开源的,遵循 GNU 通用公共许可证 (GPL),允许用户自由地使用、修改和分发。
2、引导加载程序 (Bootloader)

作用:引导加载程序负责在计算机启动时加载操作系统内核。常见的引导加载程序有 GRUB (Grand Unified Bootloader) 和 LILO (Linux Loader)。

特点:GRUB 是目前最常用的引导加载程序,支持多操作系统启动,配置灵活。
3、文件系统 (File System)

作用:文件系统负责组织和管理存储在磁盘上的数据。Linux 支持多种文件系统,如 ext4、Btrfs、XFS、F2FS 等。

特点:ext4 是最常用的 Linux 文件系统,具有良好的性能和可靠性。
4、Shell

作用:Shell 是用户与操作系统交互的命令解释器。用户可以通过 Shell 输入命令来执行各种操作。

常见 Shell:Bash (Bourne Again Shell) 是最常用的 Shell,其他常见的 Shell 还有 Zsh、Ksh、Tcsh 等。
5、用户空间工具 (User Space Utilities)

作用:这些工具提供了各种系统管理和用户操作的功能,如文件管理、网络配置、系统监控等。

常见工具:ls、cd、cp、mv、rm、grep、find、ps、top 等。
6、图形用户界面 (GUI)

作用:图形用户界面提供了可视化的操作环境,使用户可以通过窗口、图标、菜单等进行操作。

常见桌面环境:GNOME、KDE、Xfce、LXDE/LXQT 等。

显示服务器:X Window System (X11) 和 Wayland 是常见的显示服务器。
7、应用程序 (Applications)

作用:应用程序提供了各种具体的功能,如办公软件、浏览器、开发工具等。

常见应用程序:Firefox、Chromium、LibreOffice、GIMP、Vim、Emacs 等。
8、包管理系统 (Package Manager)

作用:包管理系统负责安装、更新和卸载软件包,简化了软件管理的过程。

常见包管理器:APT (Advanced Package Tool) 用于 Debian 和 Ubuntu,DNF (Dandified Yum) 用于 Fedora,Pacman 用于 Arch Linux 等。
9、系统服务 (System Services)

作用:系统服务是后台运行的程序,负责提供各种系统功能,如网络服务、定时任务、日志记录等。

常见服务:SSH 服务、Web 服务 (Apache/Nginx)、数据库服务 (MySQL/PostgreSQL)、cron 服务等。
10、配置文件 (Configuration Files)

作用:配置文件用于设置系统和应用程序的行为。常见的配置文件位于 /etc 目录下。

例子:/etc/fstab 用于管理文件系统挂载点,/etc/hosts 用于主机名解析,/etc/passwd 用于用户账户信息等。

2.2、Linux工作流程

1)Linux系统的主要组成 :Linux系统内核、系统级应用程序

首先:用户使用程序(第三方程序或linux自带的程序)

其次:程序调用内核

最后:内核调度硬件,进行工作

2.2.1、Linux内核

1)内核介绍: Linux 操作系统的核心部分,负责管理计算机硬件资源与用户程序之间的交互调度硬件能力。如调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等。

2)Linux内核作用:

  • 进程管理:内核负责创建、销毁进程以及调度进程运行,确保多个应用程序能够高效地共享 CPU 资源。
  • 内存管理:管理和分配物理内存给不同的进程,同时通过虚拟内存机制来提高内存的使用效率。
  • 文件系统:支持多种文件系统格式(如 ext4, Btrfs, XFS 等),允许用户存储和检索数据。
  • 设备驱动:为各种硬件设备提供接口,使这些设备能够与操作系统通信。
  • 网络协议栈:实现各种网络协议(如 TCP/IP),使得机器能够与其他网络中的设备通信。
  • 安全机制:提供安全策略和机制,保护系统免受未授权访问和攻击。

3)Linux内核特点:

  • Linux 内核是按照模块化设计的,因此很多功能可以作为可加载的模块来实现,这增加了灵活性和定制性。例如,如果一台机器不需要特定类型的硬件支持,那么相应的驱动程序就可以不加载,从而节省内存和其他资源。
  • Linux 内核遵循 GNU 通用公共许可证(GPL)发布,这是一项开源许可协议,允许任何人免费使用、修改和分发内核代码。这样的许可方式促进了社区的合作,使得来自世界各地的开发者能够参与到 Linux 内核的开发和维护中来。
  • 稳定性和灵活性,Linux 内核被广泛应用于服务器、桌面系统、移动设备(如 Android 系统就是基于 Linux 内核)、嵌入式系统等领域。随着技术的发展,Linux 内核也在不断地进化和完善,以适应新的需求和技术挑战。

3)Linux内核获取:
下载地址内核下载地址

  • 免费:下载免费
  • 开源:源代码是公开的,任何人可以下载查看并编辑
    -

三、Linux发行版

3.1、什么是Linux发行版

内核是免费开源的:如何人都可以获取并修改内核,甚至自行集成系统级程序
Linux发行版:提供了内核+系统级程序的完整封装

3.2、如何封装Linux发行版

如何人都可以封装Linux发行版,因此有很多Linux发行版

将系统程序和内核进行封装,即可得到发行版。

3.3、常见的Linux发行版

基于 Linux 内核构建的操作系统,通常包括内核、用户界面、各种实用工具和应用程序。不同的发行版本可能根据目标用户群体、应用场景等因素有不同的特色和侧重点。下面是一些常见的 Linux 发行版本:

1、Ubuntu-国外用的多

  • 基于 Debian,是目前最流行的 Linux 发行版之一,特别受到初学者的欢迎。
  • 提供了友好的用户界面和大量的软件包,适用于桌面和服务器环境。
  • 由 Canonical Ltd. 公司开发和支持。

2、Debian

  • 一个历史悠久、稳定性高的发行版,适合系统管理员和高级用户。
  • 强调自由软件的理念,支持广泛的硬件平台。
  • 社区维护,拥有庞大的软件仓库。

3、Fedora

  • 由 Red Hat 赞助,专注于最新的技术和开源创新。
  • 每半年发布一个新版本,适合追求新技术的用户。
  • 用于测试未来可能会加入 Red Hat Enterprise Linux (RHEL) 的功能。

4、CentOS-国内用的多

  • 基于 RHEL 重构而成,提供长期支持,适合企业级应用。
  • 完全免费,具有与 RHEL 高度兼容的特点。

5、Arch Linux

  • 以简洁和用户自主配置著称,适合有一定 Linux 使用经验的用户。
  • 提供滚动更新,确保用户始终能够获得最新的软件版本。

6、openSUSE

  • 结合了易用性和强大功能,提供 Tumbleweed 和 Leap 两个版本。
  • Tumbleweed 是滚动发行版,Leap 则提供稳定的长期支持版本。
  • 支持广泛的硬件,适合桌面和服务器使用。

7、Linux Mint

  • 基于 Ubuntu,注重用户体验,提供了开箱即用的多媒体支持。
  • 对于不愿意使用命令行的新手用户来说是一个很好的选择。

8、Deepin

  • 中国的 Linux 发行版,强调美观和易用性。
  • 自带 Deepin 桌面环境,适合中国用户使用。

9、openKylin

  • 另一个来自中国的 Linux 发行版,旨在提供一个安全、可靠且高效的国产操作系统。
  • 支持多种硬件平台,适用于桌面和服务器环境。

10、Manjaro

  • 基于 Arch Linux,但更加用户友好,提供了图形化的安装过程和系统管理工具。
  • 适合想要尝试 Arch Linux 但又担心其复杂性的用户。

11、Gentoo

  • 以高度可定制化和性能优化著称。
  • 用户需要手动编译大部分软件,适合追求极致性能和自定义配置的用户

四、总结

以上从Linux起源、组成、工作流程、发行版等多方面来初步认识Linux。如有不足,请指正~

相关推荐
wdxylb4 小时前
云原生俱乐部-shell知识点归纳(1)
linux·云原生
飞雪20075 小时前
Alibaba Cloud Linux 3 在 Apple M 芯片 Mac 的 VMware Fusion 上部署的完整密码重置教程(二)
linux·macos·阿里云·vmware·虚拟机·aliyun·alibaba cloud
路溪非溪5 小时前
关于Linux内核中头文件问题相关总结
linux
Lovyk8 小时前
Linux 正则表达式
linux·运维
Fireworkitte8 小时前
Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
linux·ubuntu·centos
sword devil9009 小时前
ubuntu常见问题汇总
linux·ubuntu
ac.char9 小时前
在CentOS系统中查询已删除但仍占用磁盘空间的文件
linux·运维·centos
淮北也生橘1211 小时前
Linux的ALSA音频框架学习笔记
linux·笔记·学习
华强笔记14 小时前
Linux内存管理系统性总结
linux·运维·网络
十五年专注C++开发14 小时前
CMake进阶: CMake Modules---简化CMake配置的利器
linux·c++·windows·cmake·自动化构建