认识linux内核(linux内核的作用)

news/2024/10/5 11:17:32

目录
  • 认识linux内核
    • Linux内核实现策略
      • 哪些地方用到了内核机制?
      • Linux进程
    • Linux内核源代码的目录结构
    • Linux内核体系结构(就是Linux系统是怎么构成的)
    • Linux体系结构和内核结构区别

认识linux内核

1.从技术层面讲,内核是硬件与软件之间的一个中间层。作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。

2.从应用程序的层面讲,应用程序与硬件没有联系,只与内核有联系,内核是应用程序知道的层次中的最底层。在实际工作中内核抽象了相关细节。

3.内核是一个资源管理程序。负责将可用的共享资源(CPU时间、磁盘空间、网络连接等)分配得到各个系统进程。

4.内核就像一个库,提供了一组面向系统的命令。系统调用对于应用程序来说,就像调用普通函数一样。
( Linux内核的作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。目前支持模块的动态装卸(裁剪)。Linux内核就是基于这个策略实现的)

Linux内核实现策略

1.微内核。最基本的功能由中央内核(微内核)实现。所有其他的功能都委托给一些独立进程,这些进程通过明确定义的通信接口与中心内核通信。

2.宏内核。内核的所有代码,包括子系统(如内存管理、文件管理、设备驱动程序)都打包到一个文件中。内核中的每一个函数都可以访问到内核中所有其他部分。目前支持模块的动态装卸(裁剪)。Linux内核就是基于这个策略实现的

哪些地方用到了内核机制?

1.进程(在cpu的虚拟内存中分配地址空间,各个进程的地址空间完全独立;同时执行的进程数最多不超过cpu数目)之间进行通 信,需要使用特定的内核机制。

2.进程间切换(同时执行的进程数最多不超过cpu数目),也需要用到内核机制。

进程切换也需要像FreeRTOS任务切换一样保存状态,并将进程置于闲置状态/恢复状态。

3.进程的调度。确认哪个进程运行多长的时间。

Linux进程

1.采用层次结构,每个进程都依赖于一个父进程。内核启动init程序作为第一个进程。该进程负责进一步的系统初始化操作。init进程是进程树的根,所有的进程都直接或者间接起源于该进程。

2.通过pstree命令查询。实际上得系统第一个进程是systemd,而不是init(这也是疑问点)

3.系统中每一个进程都有一个唯一标识符(ID),用户(或其他进程)可以使用ID来访问进程。

Linux内核源代码的目录结构

  1. 内核核心代码,包括第3章所描述的各个子系统和子模块,以及其它的支撑子系统,例如电源管理、Linux初始化等
  2. 其它非核心代码,例如库文件(因为Linux内核是一个自包含的内核,即内核不依赖其它的任何软件,自己就可以编译通过)、固件集合、KVM(虚拟机技术)等
  3. 编译脚本、配置文件、帮助文档、版权说明等辅助性文件

Linux内核体系结构(就是Linux系统是怎么构成的)

Linux内核的主要组件有:系统调用接口、进程管理、内存管理、虚拟文件系统、网络堆栈、设备驱动程序、硬件架构的相关代码。

Linux体系结构和内核结构区别

(1)用户空间:用户空间中又包含了,用户的应用程序,C库

(2)内核空间:内核空间包括,系统调用,内核,以及与平台架构相关的代码
image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/28730.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

软件设计师:结构化开发方法

模块化模块独立 软件模块应尽量做到高内聚、低耦合,提高模块的独立性 耦合性无直接耦合:没有直接关系 数据耦合:传递简单的数据值 标记耦合:传递数据结构 控制耦合:传递控制变量 外部耦合:软件之外的环境联结 公共耦合:公共数据环境 内容耦合:通过非正常入口/直接访问内…

基于表面法线法的二维人脸图构建三维人脸模型matlab仿真

1.算法运行效果图预览2.算法运行软件版本 matlab2022a3.算法理论概述 二维人脸图像获取表面法线首先,我们需要从二维灰度或者彩色人脸图像中估计表面法线。通常这一过程包括以下几个步骤:人脸检测与对齐:确保人脸图像被准确检测并进行标准化对齐,以便后续处理。深度信息估计…

项目冲刺——第 1 篇 Scrum 冲刺博客

作业所属课程 所属课程作业要求 作业要求作业目标 敏捷开发前的安排一、各个成员在 Alpha 阶段认领的任务二、明日各个成员的任务安排成员 任务肖杨、梁丽贤 搭建前端开发框架黄诃华、欧文杰 编写数据库姚佳如、李慧娣 不断根据需求完善功能设计,并完成首页、登陆模块的页面设…

STATA 核密度图

. clear . set obs 625 . gen x = (mod((_n-mod(_n-1,25)-1)/25,25)-12)/12 . gen y = (mod(_n-1,25)-12)/12 . gen z = normalden(x,0,2)*normalden(y,0,2) //二维乘积核 . twoway contour z x y, level(15)

构造照亮世界——快速沃尔什变换 (FWT)

之前学习 FFT 的时候,我们知道 FFT 是用来快速求两个多项式乘积的,而 FWT 解决的多项式的位运算……博客园 我的博客快速沃尔什变换解决的卷积问题 快速沃尔什变换(FWT)是解决这样一类卷积问题: \[c_i=\sum_{i=j\odot k}a_jb_k \]其中,\(\odot\) 是位运算的一种。举个例子…

软件测试之linux学习day2

今天学习linux中的shell编程

SwiftUI ScrollView 滚动视图

代码 // // ContentView.swift // SwiftUIScrollView // // Created by CHEN Hao on 2024/5/7. //import SwiftUIstruct ContentView: View {var body: some View {VStack(alignment: .leading) {VStack(alignment: .leading) {Text("monday, aug 20".uppercased(…

wpf字符图标

1、网页使用: font face=webdings size="32">i</font 2、WPF使用: TextBlock Text="1" FontFamily="Wingdings" FontSize="32"></TextBlock