Linux操作系统概述
1、操作系统(OS)
**定义:**OS是一种内置的程序,用来协作计算机的各种硬件,以与用户进行交互。
组成:
1.内核:内存管理、进程管理、文件管理、驱动管理
2.其他程序:库函数、shell外壳
作用: OS对下层进行软件硬件的管理工作,对上层提供良好、高效、稳定、安全的运行环境。
理解:
-
操作系统是一个进行“管理”的软件。
-
对系统管理<->对数据管理<->对PCB(Linux的具体称呼是task_struck)数据结构管理
系统调用和库函数的概念:
在开发角度,OS对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由OS提供的接口,叫做系统调用。
系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统调用进行适度封装,从而形成库,有了库,就有利于更上层用户或者开发者进行二次开发。
2、Linux简介
Linux 是一套免费使用和自由传播的类 Unix 操作系统(OS),是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。
Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
3、Linux和Windows
Linux在服务器上使用更加广泛而Windows在桌面更加常见。
| 比较 | Windows | Linux |
|---|---|---|
| 界面 | 界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同 | 图形界面风格依发布版不同而不同,可能互不兼容。GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致。 |
| 驱动程序 | 驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛。 | 由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解。 |
| 使用 | 使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。 | 图形界面使用简单,容易入门。文字界面,需要学习才能掌握。 |
| 学习 | 系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。 | 系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易。 |
| 软件 | 每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。 | 大部分软件都可以自由获取,同样功能的软件选择较少。 |
4、Linux系统组成
Linux系统主要由四个核心部分组成:内核(Kernel)、Shell、文件系统(File System)和应用程序(Application)组成。
4.1 Linux内核(Kernel)
操作系统中核心部分,负责进程管理、内存管理(虚拟内存、分页等)、设备驱动、文件系统支持、网络协议栈(TCP/IP)、安全机制。
内核一方面接受来自应用层的请求并将其传递给硬件,另一方也管理底层的资源。
4.2 Shell(命令行解释器)
Shell是一个C语言程序,既是一种命令语言也是一个程序设计语言,做为用户与内核交互的接口,负责解析用户输入的命令并执行。
主要功能:
- 执行命令(
ls、grep、awk) - 支持脚本编程(
Shell Script) - 提供环境变量、管道、重定向功能
4.3 文件系统(File System)
作用:管理磁盘数据的存储和访问方式,提供文件和目录的层次结构。 主要功能:
- 组织文件(目录树结构
/)。 - 管理文件权限(
chmod、chown)。 - 支持不同存储设备(磁盘、SSD、USB)。
4.4 应用程序**(Applications)**
作用:运行在用户空间的软件,提供各种功能(如浏览器、编辑器、服务器等)。
CSDN文章作者同名