Linux基础(四)——内核

Linux内核简介

Linux内核(kernel)是芬兰赫尔辛基大学的学生Linus Torvalds于1991年创建的。随着程序员从其他自由软件项目中调整源代码以扩展内核的功能,它很快获得了广泛的应用。由于Linux内核越来越受欢迎,GNU自己的内核GNU Hurd不可用且不完整,而且Berkeley Software Distribution (BSD) OS仍然受到法律问题的阻碍。因此,在开发者社区的帮助下,Linux kernel 0.01于1991年9月17日发布。

Linux内核是一个自由的、开源的、独立的、类unix的操作系统内核,它是一个用C语言写成,符合POSIX标准的类Unix操作系统。是整个操作系统的最底层,它负责整个硬件的驱动,以及提供各种系统所需的核心功能,包括防火墙机制、是否支持LVM或Quota文件系统等等。

Linux内核结构

内核内部结构是十分复杂的,下图简单描述内核各个模块之间的映射:

Linux内核作用

**硬件设备管理**
    计算机完成真正工作是硬件,如CPU、硬盘、显示适配器、声卡、网卡等等。内核作用就是控制这些硬件如何工作。几乎每个系统操作最终都映射到一个物理设备上,而设备控制操作都由特定的设备相关的代码来进行,这些代码被称为设备驱动,内核中必须嵌入每个外设的驱动,以使其完成计算机发起的工作。

    **内存管理**
    内存是计算机的主要资源之一, 而内存处理策略对系统性能至关重要。 内核为每一个进程都在有限的可用资源上建立了一个虚拟地址空间. 内核的不同部分与内存管理子系统通过一套函数调用交互, 从简单的 malloc/free 对到更多更复杂的功能。

**进程管理**
    内核负责创建和销毁进程, 并处理它们与外部世界的联系(输入和输出);
    内核处理不同进程间通讯(通过信号, 管道, 或者进程间通讯原语)对整个系统功能来说是基本的;
    内核进程管理调度器, 控制进程如何共享 CPU;
    内核的进程管理实现了多个进程在一个单个或者几个 CPU 之上的抽象。

    **文件系统管理**
    Linux的核心思想:一切皆文件。内核在非结构化的硬件之上建立了结构化的文件系统。
    虚拟文件系统VFS(也成虚拟文件交换)作为内核子系统,为用户空间程序提供了文件和文件系统相关的统一接口。通过VFS,应用程序可以使用相同接口完成不同介质上不同文件系统的数据读写操作。VFS之所以能够衔接各种各样的文件系统,是因为它定义了所有文件系统都支持的、基本的、概念上的接口和数据结构。实际文件系统也将自身的操作在形式上与VFS定义保持一致,而每个文件系统的细节则由各自实现。

    **网络管理**
    Linux网络是由操作系统进行管理的,进入系统的报文是异步事件,报文在某一个进程接手之前必须被收集, 识别, 分发.。内核负责在程序和网络接口之间递送数据报文, 并且根据程序的网络活动来控制程序的执行。此外,内核担负路由和地址解析责任。

原文地址:https://blog.51cto.com/1456850/2366876

时间: 2024-10-16 04:40:55

Linux基础(四)——内核的相关文章

linux基础之内核编译

编译内核: 程序包的编译安装: ./configure, make, make install 前提:开发环境(开发工具,开发库),头文件:/usr/include 开源:源代码 --> 可执行格式 发行版:以"通用"的目标: 前提: (1) 准备好开发环境: (2) 获取目标主机上硬件设备的相关信息: (3) 获取到目标主机系统功能的相关信息,例如要启用的文件系统: (4) 获取内核源代码包:www.kernel.org 准备开发环境: CentOS 6.7: 包组: Deve

linux基础四----sanba&&nginx

一 samba 1环境配置: a.确保linux下防火墙关闭比或开放共享目录权限 iPtables -F b.确保setlinux关闭:setenforce 0 c.配置iP 2安装软件包:yum install samba -y 3修改配置文件: 路径: /etc/samba/smb.conf 4 启动服务systemctl restart smb 5 测试映射网络驱动\\服务端的ip\用户名 -------->登录到用户的家目录下 \\服务端的ip\public -------->登录到共

Linux基础四

vim编辑器 vi编辑器的增强版,语法高亮等扩展功能 vim三种工作模式  a,i,o等键输出模式 命令模式,输入模式,末行模式 模式间的切换 a:当前行插入 i:当前行插入 o:全新一行插入 :键末行模式 ------------------------------------ 命令模式: 操作类型         按键指令             用途 光标行内跳转     home / end        跳转至行首 / 跳转至行尾 行内跳转         end或$键     跳转至

Linux基础四(服务管理)

目录 一.简介与分类 1.系统的默认运行级别 2.服务的分类 3.服务与端口 二.服务管理 1.RPM包服务管理 2.源码包服务管理 三.服务管理总结 一.简介与分类 1. 系统的运行级别 1.1 默认运行级别 系统运行级别 0 - 关机 1 - 单用户模式,主要用于系统修复,类似于windows的安全模式 2 - 不完全的命令行模式,不含NFS服务(NFS是Linux之间进行文件共享的服务) 3 - 完全的命令行模式,即标准的字符界面 4 - 系统保留 5 - 图形模式 6 - 重启 1.2

大数据每日干货第四天(linux基础之一目录结构与常用命令)

为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop.hive.flume.hbase等,再到实时数据分析包括storm.kafka.redias等,最后的内存计算部分包括scala.spark.机器学习,这样循序渐进,能够系统化学习. linux基础部分会分几天进行分享,今天主要讲解的是linux介绍,目录机构与常用的命令. 1.linux介绍 lLinux是一种

Linux基础初识(四)

Linux基础初识(四) 一.1. 系统监视和进程控制工具-top和free1) 掌握top命令的功能:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.2) 了解使用top命令列出系统状态时,系统默认每5秒刷新一下屏幕上的显示结果. 1. 第一行是任务队列信息 12:38:33 当前时间 up 50days 系统运行时间,格式为时:分 1 user 当前登录用户数 load average: 0.06, 0.60, 0.48

linux基础命令作业四

linux基础命令四 作业一: 1)              开启Linux系统前添加一块大小为15G的SCSI硬盘 2)              开启系统,右击桌面,打开终端 3)              为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区, 在扩展分区上划分1个逻辑分区,大小为5G 4)              格式化主分区为ext3系统 5)              将逻辑分区设置为交换分区 6)              启用上一步的交换分区 7)   

写给自己看的Linux运维基础(四) - python环境

pip - Python包管理工具 https://pip.pypa.io/en/latest/installing.html wget https://bootstrap.pypa.io/get-pip.py python get-pip.py Redis (NoSQL) http://www.redis.io/download wget http://download.redis.io/releases/redis-2.8.13.tar.gz tar xzf redis-2.8.13.tar

linux基础学习四

本次继续学习linux基础命令,包括stat.touch.cp.mv.rm.tree.mkdir.rmdir stat 命令格式 stat [OPTION]... FILE... 命令功能 显示文件的时间戳,即访问时间.修改时间和改变时间 stat [OPTION]... FILE...      [[email protected] ~]# stat newfile       File: `newfile'      Size: 0          Blocks: 0          I

Linux基础之磁盘管理

 Linux基础之磁盘管理         关于Linux中磁盘管理我们应该从以下四个方面入手,去了解和学习磁盘管理的知识. 第一点 磁盘的结构--硬盘         硬盘的参数 结构:磁盘的盘片,磁头,马达(机械键盘) 类型:固态硬盘(SSB)和机械硬盘 接口:早期的IDE接口,现在的SATA,SCSI,SAS 还有容量,转速,传输速度,缓存等. 硬盘存储术语 head: 磁头 track: 磁道 cylinder: 柱面 secotr: 扇区  512bytes(字节) 第二点 磁盘的分区