学习Linux的价值
Linux作为一种开源操作系统,具有广泛的应用场景和重要的价值。学习Linux可以帮助我们掌握一些基础的计算机知识和技能,如命令行操作、文件系统管理、网络配置等。这些技能不仅可以提高我们的计算机使用效率,还可以为我们以后的职业发展打下坚实的基础。
此外,随着云计算和大数据时代的到来,Linux的应用也越来越广泛。学习Linux可以让我们了解云计算和大数据技术的基础知识,从而更好地适应这个时代的发展趋势。在企业和科研机构中,精通Linux的人才也越来越受到重视。
最后,学习Linux也符合开源共享的精神,可以帮助我们了解开源软件的工作原理和开发方法,以及如何参与到开源社区中去。这对于个人的成长和社会的发展都具有重要的意义。
01计算机硬件
五大基础单元
- 控制器
- 运算器
- 存储器单元
- 输入
- 输出
02操作系统
操作系统启动流程:
BIOS:
启动操作系统是计算机启动的第一步,而BIOS是计算机启动的关键组成部分之一。当计算机启动时,BIOS将首先自检计算机硬件并初始化它们,然后检查启动设备(例如硬盘、光驱、USB驱动器等)以确定从哪个设备启动操作系统。然后,BIOS将加载操作系统的引导程序,这是一段小程序,它将在计算机内存中运行并启动操作系统。
UEFI:
UEFI(统一的可扩展固件接口)是一种新的启动系统,取代了传统的BIOS(基本输入输出系统)。它提供了更多的功能和灵活性,例如支持大容量磁盘和安全启动。启动操作系统需要在UEFI设置中选择正确的启动设备,以便计算机可以从该设备中读取操作系统。
03Linux发展
Linux是一个开源的操作系统,它的发展历史可以追溯到1991年,当时一位芬兰的大学生Linus Torvalds开始写作一个免费的Unix-like操作系统内核。他最初的目标是在自己的个人电脑上运行Minix,但很快就开始吸引了全球各地的程序员的关注。这些程序员为内核编写了设备驱动程序和其他的软件,使Linux变得更加完善和强大。随着时间的推移,Linux被越来越多的人使用,它已经成为许多服务器和个人电脑的首选操作系统。今天,Linux已经成为一个庞大、稳定和灵活的操作系统,它具有广泛的应用领域,从嵌入式设备到大型超级计算机。
查看Linux系统内核版本
uname -a #Linux 主机名 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux cat /proc/version #Linux 版本信息: Linux 主机名 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020
Linux系统应用领域
Linux系统是一款开源的操作系统,具有广泛的应用领域。它被用于服务器和计算机系统的操作,也被嵌入到各种设备中,如智能手机、机器人、家用电器等。此外,Linux系统还是科学研究、教育、金融等领域的首选操作系统,因为它具有高度的可定制性和灵活性,能够满足各种不同的需求。
04Linux体系结构
Linux是一种开源操作系统,它采用模块化的设计,拥有很强的可定制性和可扩展性。Linux的体系结构主要由内核、系统调用库、应用程序和用户空间组成。
-
内核是Linux操作系统的核心,它负责管理硬件资源、文件系统和进程等基本任务。
-
系统调用库是内核和应用程序之间的接口,它提供了一系列的API,使得应用程序可以方便地访问内核的功能。
-
应用程序是Linux操作系统的各种软件,包括常用的文本编辑器、浏览器、媒体播放器等等。
-
用户空间是应用程序运行的环境,它与内核空间相对应,提供了用户与应用程序交互的界面。
查看进程信息
进程调度
进程调度是计算机操作系统中的重要概念,用于管理多个进程的执行顺序,以便最大化系统资源的利用和优化系统性能。通过合理的进程调度算法,操作系统可以让多个进程在同一时间运行,并且避免进程之间的冲突和竞争。目前,各种各样的进程调度算法被广泛应用于操作系统中,比如优先级调度、时间片轮转调度等。通过合理地选择和应用这些算法,操作系统可以更好地满足用户的需求。
linux文件系统
一切皆文件
虚拟文件系统VFS:
虚拟文件系统(VFS)是一个操作系统内核的抽象层,它负责管理不同类型的文件系统,使它们能够被应用程序和用户访问。VFS 可以将不同的文件系统抽象成相同的接口,使得应用程序和用户无需关心底层的文件系统类型和实现细节,从而简化了文件系统的使用和管理。VFS 的存在使得操作系统的文件系统变得更加灵活和可扩展,也方便了用户的操作和管理。
查看用户信息
linux软件包
Linux软件包是一种用于在Linux操作系统上安装、升级和管理软件的文件格式。它们通常包含了软件的源代码、可执行文件、库文件和其他必要的资源。Linux软件包的安装和管理通常使用包管理器来完成,这是一个能够自动处理软件依赖关系、安装和卸载软件的工具。Linux软件包的使用可以方便地为操作系统增加新的功能和软件,并且由于Linux开源的性质,用户也可以自由地获取和修改软件包的源代码。