Linux内核Linux操作系统内核中用来存储函数调用和局部变量的一种数据结构。它是一种后进先出(LIFO)的数据结构,具有固定的大小。Linux内核在操作系统的运行中发挥着至关重要的作用,它承担着函数调用和中断处理时的重要任务。 Linux内核的作用在于为每个进程分配独立的内核空间,用来存储函数的调用信息、局部变量和临时数据。在函数调用时,程序会将当前函数的返回地址和参数等信息压入内
原创 2024-02-27 12:31:54
43阅读
最近linux内核的中断部分,总是被书里的弄晕,一会儿内核,一会儿用户的……很是崩溃,在网上google了一下 找了一篇不错的文章拿来分享。   5.8 Linux 系统中堆栈的使用方法 本节内容概要描述了Linux内核从开机引导到系统正常运行过程中对堆栈的使用方式。这部分内容的说明与内核代码关系比较密切,可以先跳过。在开始阅读相应代码时再回来仔细研究。 Linux 0.1
转载 精选 2010-02-05 12:54:59
10000+阅读
1点赞
Linux内核是一个非常强大的操作系统内核,以其开源、稳定和灵活性而闻名。Linux内核的网络协议是其网络功能的核心部分,负责管理网络通信和数据传输。在Linux内核中,网络协议由一系列协议组成,每个协议负责不同的网络功能。 Linux内核的网络协议中包含了许多不同的协议,例如TCP、UDP、IP和以太网等。这些协议相互配合,共同工作,以确保网络通信的顺利进行。在数据传输过程中,数据包会通
原创 2024-03-05 11:44:08
162阅读
转自:http://www.kerneltravel.net/kernel-book/%E7%AC%AC%E5%9B%9B%E7%AB%A0%20%E8%BF%9B%E7%A8%8B%E6%8F%8F%E8%BF%B0/4.4.1.htm 4.4.1进程内核 每个进程都有自己的内核。当进程从用户
转载 2016-08-23 17:47:00
580阅读
2评论
进程的用户内核进程是程序的一次执行过程。用剧本和演出来类比,程序相当于剧本,而进程则相当于剧本的一次演出,舞台、灯光则相当于进程的运行环境,贴切进程的堆栈每个进程都有自己的堆栈,内核在创建一个新的进程时,在创建进程控制块task_struct的同时,也为进程创建自己堆栈。一个进程 有2个堆栈,...
转载 2013-06-12 11:22:00
176阅读
2评论
透过现象看本质,兽兽门无非就是一些人体艺术展示。同样往本质里看过去,学习内核,就是学习内核的源代码,任何内核有关的书籍都是基于内核,而又不高于内核的。既然要学习内核源码,就要经常对内核代码进行分析,而内核代码千千万,还前仆后继的不断往里加,这就让大部分人都有种雾里看花花不见的无助感。不过不要怕,孔老夫子早就留给我们了应对之策:敏于事而慎于言,就有道而正焉,可谓好学也已。这就是说,做事要踏实才是好学
Linux内核网络是指Linux操作系统中实现网络功能的关键组件。它负责管理网络通信,实现数据包的传输和处理,为用户提供网络服务。本文将介绍Linux内核网络的工作原理和其在红帽操作系统中的应用。 首先,我们来了解一下Linux内核网络的组成。Linux内核网络由多个协议层次组成,包括网络接口层、网络层、传输层和应用层。每个层次的功能都不同,但它们都协同工作,为用户提供完整的网络功能。
原创 2024-02-04 13:02:49
146阅读
是什么?有什么作用?首先, (stack) 是一种串列形式的 数据结构。这种数据结构的特点是 后入先出 (LIFO, Last In First Out),数据只能在串列的一端 (称...
转载 2021-10-08 14:53:27
518阅读
是什么?有什么作用?首先, (stack) 是一种串列形式的 数据结构。这种数据结构的特点是 后入先出 (LIFO, Last In First Out),数据只能在串列的一端 (称为:顶 top) 进行 推入 (push) 和 弹出 (pop) 操作。根据的特点,很容易的想到可以利用数组,来实现这种数据结构。但是本文要讨论的并不是软件层面的,而是硬件层面的。大多数的处理器架构,都有
转载 2022-03-17 13:52:54
301阅读
https://www.ibm.com/developerworks/cn/linux/l-ntflt/
转载 2015-09-22 16:09:00
211阅读
2评论
点击上方“朱小厮的博客”,选择“设为星标”后台回复"书",获取后台回复“k8s”,可领取k8s资料在开始正式的讨论前,我先抛出几个问题:谈到磁盘时,常说的HDD磁盘和SSD磁盘最大的区别是...
转载 2022-01-02 10:11:22
220阅读
点击上方“朱小厮的博客”,选择“设为星标”后台回复"书",获取后台回复“k8s”,可领取k8s资料在开始正式的讨论前,我先抛出几个问题:谈到磁盘时,常说的HDD磁盘和SSD磁盘最大的区别是...
转载 2022-01-11 14:34:57
112阅读
   linux内核协议(整理中)     Linux报文流向:https://blog.csdn.net/u010246947/article/details/18220221netfilter对于报文的处理ip_rcv -> iptables -> ip_rcv_finish-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKE
转载 2021-04-25 21:40:34
185阅读
2评论
这是《Linux系统调用那些事》高级部分的第一章《聊聊Linux IO》。高级部分的文章均假设读者完整的学习过Linux系统基础以及Linux系统编程相关的内容,并已有一定的工程实践经验。...
转载 2022-03-10 11:39:46
10000+阅读
比如 我们之前调试的 glibc 相关的库函数 glibc 相关是属于用户程序, 调用 操作系统的系统调用的时候, 会是 怎么样的一个情况呢? 系统调用 会有对应的系统帧来处理 系统调用的相关函数调用的堆栈支持 我们这里主要是以 printf 中会分配缓冲区调用 malloc 库函数 malloc 库函数 会调用 brk 系统调用, 我们主要是 大致看一下 这个情况
原创 2024-03-14 13:31:06
73阅读
转自:http://blog.chinaunix.net/uid-12461657-id-3487463.html 原文地址:Linux内核中的中断内核的补充说明 作者:MagicBoy2010 原文地址:Linux内核中的中断内核的补充说明 作者:MagicBoy2010 中断内核
转载 2017-06-24 21:11:00
132阅读
2评论
一、用户态和内核内核态和用户态是操作系统的两种运行级别,用于区分不同程序的不同权利。 内核态就是拥有资源多的状态,或者说访问资源多的状态,也称为特权态。相对来说,用户态就是非特权态,访问的而资源将受到限制。如果一个程序运行在特权态,该程序就可以访问计算机的任何资源,它的资源访问权限不受限制。如果
转载 2018-08-29 00:17:00
293阅读
2评论
Linux系统上,一个进程有两种不同的,一种是用户,另一种是内核。 用户 用户就是应用程序直接使用的。如下图所示,它位于应用程序的用户进程空间的最顶端。 当用户程序逐级调用函数时,用户从高地址向低地址方向扩展,每次增加一个帧,一个帧中存放的是函数的参数、返回地址和局部变量等,所以帧的长度是不定的。 用户底靠近进程空间的上边缘,但一般不会刚好对齐到边缘,出于安全
原创 2013-08-05 13:40:56
2012阅读
  我们知道,溢出通常是因为递归调用层次太深导致,那么为什么递归调用层次太深回导致溢出呢,解决这个问题 之前我们先看一下与函数调用有关的的基本概念: 1. 每一个线程拥有一个调用结构(call stack),调用存放该线程的函数调用信息 2. 程序中每一个未完成运行的函数对应一个帧(stack frame),或者一个更响亮的名字,过程的活动记录,帧     中保存函数局部变量、传递
转载 2021-08-05 17:34:34
1356阅读
整理一些杂乱的内容。以下x86架构。Linux 内核大小内核大小是固定的,默认为8k,曾经有选项可以设置为4k。由于大小固定,申请过大的内存,或者函数调用层次过深,都可能导致溢出。关注默认4k还是8k,社区曾有过长时间讨论。其中8k的缺点如下:浪费内存。由于内核4k分页,要创建一个内核就需要申请2块连续的4k页。当内存碎片严重,尤其内存紧张的时候,申请8k的连续内存,要比4k困难的
  • 1
  • 2
  • 3
  • 4
  • 5