Linux 内核初窥

本文介绍了Linux内核的基本概念,包括其作为操作系统的核心组件、与硬件的交互、模块化设计、进程调度、内存管理、虚拟内存机制、网络接口、设备驱动和进程间通信等内容,展示了内核如何协调资源并确保系统稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

> Linux内核是一种开源的类Unix操作系统宏内核,是Linux操作系统的主要组件,也是计算机硬件与其进程之间的核心接口。   	
> Linux内核负责管理系统资源,包括硬件与进程之间的通信,它用C语言编写,符合POSIX标准。Linux内核主要由进程调度、内存管理、虚拟文件系统、网络接口和进程间通信等子系统组成,这些子系统共同协作,提供了系统的各种核心功能。

在这插入图片描述
Linux系统架构图

1.操作系统是什么

  • 简单来讲,操作系统就是交互系统;
  • Windows系统、Linux系统。

2.内核是什么

从功能层面上来说,内核就是硬件和软件之间交互的中间层;
从其他层面理解内核
1.read write内核提供给我们的API,系统调用,lib,这里开放了很多的接口,系统调用,函数给我们的软件调用;
2.内核Manager,资源的管理,给每个进程分配多少资源,进程之间共享那些内存。在这里插入图片描述

3.内核实现的策略

  1. 宏内核。内核的所有代码,包括子系统(如内存管理、文件管理、设备驱动程序)都打包到一个文件中。内核中的每一个函数都可以访问到内核中所有其他部分。目前支持模块的动态装卸(裁剪)。Linux内核就是基于这个策略实现的。
  2. 微内核。最基本的功能由中央内核(微内核)实现。所有其他的功能都委托给一些独立进程,这些进程通过明确定义的通信接口与中心内核通信。

4.内核包含哪些核心的模块

4.1 进程调度、切换

CPU 多个进程,时间分片
CPU 1号线程,2号线程,线程切换
4个CPU,100个进程,
资源调度
新来的进程,怎么调度
不是没一个进程都有相同的优先级
有一些进程注定是贵族进程,优先级很高
怎么调度这种优先级高的进程?
内核需要考虑的问题

4,2 内存管理

多个进程,每个进程都是要分配资源的,内核管理。

4.3 虚拟内存机制

进程都有自己的资源,资源的隔离;
每一个进程都以为自己的资源很充足,而且不会操作到其他进程的资源哪里去;
就像领导一样,要让每个员工都以为自己是核心员工,但其实每个人都是打工人,4G可以使用,其实并不是。

4.4 和网络交互的地方

电脑–>联网–>偶遇–>联系
API

4.5 设备驱动程序

有时候,电脑没有声音,安装驱动
USB,手机,支持内核可以访问设备

4.6进程间通讯机制&锁

进程之间相互通信
IPC:管道、共享内存、信号量
多个进程、多个线程,大家可能会同时操作同一份资源,出现资源抢夺的情况,你持有他的资源,他持有你的资源,大家谁也不放手,出现死锁。
内核需要提供锁的机制,给各个进程、线程
乘风破浪的姐姐
你拿了他的口红
他拿了你的粉底
你们谁也不能完成化妆步骤
谁也上不了台。

4.7 其他模块

页表的管理
数据同步添加链接描述

  1. 很多时候,操作内存层的数据,持久化到磁盘,111111持续刷到磁盘
  2. 存在buffer,缓冲区,缓冲数据量到一定程度,统一刷到磁盘
    二进制文件

时间管理

> https://www.bilibili.com/video/BV1cV41117jP/?p=3&spm_id_from=pageDriver&vd_source=6a5c4b92eab83d6c52eec53e5d7fdeac

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值