《Linux命令行与shell脚本编程大全》读书笔记————第一章 初识Linux shell

简介: 本章内容1、什么是Linux2、Linux内核的组成 1、1 什么是LinuxLinux课划分为以下四部分a)Linux内核b)GNU工具c)图形化桌面环境d)应用软件 1.1.1 深入探究Linux内核内核主要负责以下四种功能a)系统内存管理b)软件程序管理c)硬件设备管理d)文件系统管理 1、系统内存管理内核不仅管理服务器上的可用内存,还可以创建和管理虚拟内存(即实际上不存在的内存)。

本章内容

1、什么是Linux

2、Linux内核的组成

 

1、1 什么是Linux

Linux课划分为以下四部分

a)Linux内核

b)GNU工具

c)图形化桌面环境

d)应用软件

 

1.1.1 深入探究Linux内核

内核主要负责以下四种功能

a)系统内存管理

b)软件程序管理

c)硬件设备管理

d)文件系统管理

 

1、系统内存管理

内核不仅管理服务器上的可用内存,还可以创建和管理虚拟内存(即实际上不存在的内存)。

内核通过硬盘上的存储空间来实现虚拟内存,这块区域成为交换空间(swap space)。内核不断的在交换空间和实际的物理内存之间反复交换虚拟内存中的内容。这使得系统认为它拥有比物理内存更多的可用空间。

内存存储单元按组划分成很多块,这些块被称为页面(page)。内核将每一个内存页面放在物理内存或交换空间。然后,内核会维护一个内存页面表,指明哪些页面位于物理内存,哪些页面被换到了磁盘上。

内核会记录那些内存页面正在使用,并自动把一段时间未访问的内存页面复制到交换空间区域(称为换出,swapping out)——即使还有可用内存。

当程序要访问一个已经被换出的内存页面时,内核必须从物理内存换出另外一个内存页面给他让出空间,然后从交换空间换入请求的内存页面。

 

2、软件程序管理

Linux操作系统将运行中的程序称为进程。内核控制着Linux系统如何管理运行在系统上的所有进程。

内核创建了第一个进程(称为init进程)来启动系统上所有其他进程。当内核启动时,他会将init进程加载到虚拟内存中。内核在启动任何其他进程时,都会在虚拟内存中给新进程分配一块专有区域来存储该进程用到的数据和代码。

 

3、硬件设备管理

内核的另一个职责是管理硬件任务。

任何Linux系统需要与之通信的设备,都要在内核代码中加入其驱动程序代码。驱动程序代码相当于应用程序和硬件设备的中间人,允许内核与设备之间交换数据。

Linux系统将硬件设备当成特殊的文件,称为设备文件。

 

4、文件系统管理

Linux内核支持通过不同类型的文件系统从硬盘中读写数据。Linux支持从其他系统采用的文件系统中读写数据。

 

 

shell是一种特殊的交互工具。他为用户提供了启动程序、管理文件系统中的文件以及运行在Linux系统上的进程的途径。

 

相关文章
|
3天前
|
Linux API
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
Linux系统编程之文件编程常用API回顾和文件编程一般步骤
|
4天前
|
网络协议 Shell Linux
LabVIEW 在NI Linux实时设备上访问Shell
LabVIEW 在NI Linux实时设备上访问Shell
|
5天前
|
Shell Linux
【Linux】进程实践项目(更新中) — 自主shell编写
前几篇文章,我们学习进程的相关知识:进程概念,进程替换,进程控制。熟悉了进程到底是个什么事情,接下来我们来做一个实践,来运用我们所学的相关知识。这个项目就是手搓一个shell模块,模拟实现Xshell中的命令行输入。
11 1
|
6天前
|
缓存 监控 前端开发
如何在 Linux 命令行中检查 CPU 使用率
【5月更文挑战第8天】
16 0
|
6天前
|
Shell Linux 信息无障碍
5 个有用的 Linux Shell 转义序列
5 个有用的 Linux Shell 转义序列
|
7天前
|
存储 算法 网络协议
【探索Linux】P.26(网络编程套接字基本概念—— socket编程接口 | socket编程接口相关函数详细介绍 )
【探索Linux】P.26(网络编程套接字基本概念—— socket编程接口 | socket编程接口相关函数详细介绍 )
13 0
|
7天前
|
Shell Linux 编译器
C语言,Linux,静态库编写方法,makefile与shell脚本的关系。
总结:C语言在Linux上编写静态库时,通常会使用Makefile来管理编译和链接过程,以及Shell脚本来自动化构建任务。Makefile包含了编译规则和链接信息,而Shell脚本可以调用Makefile以及其他构建工具来构建项目。这种组合可以大大简化编译和构建过程,使代码更易于维护和分发。
25 5
|
8天前
|
Linux Shell 程序员
【Linux】权限(shell运行原理、概念,Linux权限)
【Linux】权限(shell运行原理、概念,Linux权限)
14 2
|
8天前
|
存储 运维 Java
Linux笔记02 —— Shell补充
Linux笔记02 —— Shell补充
31 2
|
5月前
|
Shell 索引
shell脚本入门到实战(四)- 数组
shell脚本入门到实战(四)- 数组