linux内核中Makefile 的作用是根据配置的情况,构造出需要编译的源文件列表,然后分别编译,并把目标代码链接到一起,最终形成 Linux 内核二进制文件。 由于 Linux 内核源代码是按照树形结构组织的,所以 Makefile 也被分布在目录树中。Linux 内核中的 Makefile 以
转载
2016-12-21 22:47:00
202阅读
2评论
linux内核介绍内核体系结构Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。进程调度(SCHED):控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进程。Linux使用了比较简单的基于优先级的进程调度算法选择新的进程。内存管理(m
转载
2024-05-09 13:38:42
39阅读
在同专栏的mdio访问phy的三种方式篇,我们着重介绍了通过ioctrl的方式将mdio总线与网卡绑定进行访问,但是实时上数据接口和管理接口可以独立去控制,很不幸,作者现在必须把mdio与网卡解除绑定并独立操控,因此接下来将详细介绍通过devmem的访问方式。dev/memdev/mem是linux下的一个设备节点,看名字能够猜测到大概和内存有关,如果你的系统下没有该节点,可以通过内核的如下配置使
转载
2024-07-04 19:28:46
288阅读
Linux 5大模块一、进程调度模块 Linux以进程作为系统资源分配的基本单位,并采用动态优先级的进程高级算法,保证各个进程使用处理机的合理性。进程调度模块主要是对进程使用的处理机进行管理和控制。【进程创建】:
原创
2021-09-28 13:27:00
190阅读
1. 查看内核版本命令:1) [root@q1test01 ~]# cat /proc/versionLinux version 2.6.9-22.ELsmp (bhcompile@crowe.devel.redhat.com)
(gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Mon Sep 19
18:00:54 EDT 20052)
转载
2023-11-20 01:13:27
132阅读
中断处理程序是被内核调用来响应中断的,它运行在中断上下文,中断处理程序是上半部,当接收到一个中断,它就立即开始执行,但只做有严格时限的工 作,例如对接收的中断进行应答或复位硬件,这些工作都是在所有中断被禁止的情况下完成。能够被允许稍后完成的工作会推迟到下半部去。中断处理程序的注册是通过request_irq函数,由于该函数内部有分配内存的操作,所以它不能在中断上下文或其他不允许阻塞的代码中调用。L
转载
2015-04-02 17:04:00
191阅读
2评论
在Linux内核中有三个watchdog(看门狗),它们都需要被悉心的喂养照料,分别是:/dev/watchdog2.softlockup检测机制3.hardlockup检测机制首先看1./dev/watchdog,此看门狗该怎样喂养呢,linux内核中有一段样例代码:samples/watchdog/watchdog-simple.c1//SPDX-License-Identifier:GPL-
原创
2021-01-30 19:17:36
1480阅读
目录一、Keepalived安装(linux):1、安装依赖:2、安装keepalived:3、启动停止服务:二、参数简介:1、global_defs区域参数:2、static_ipaddress区域参数:3、static_routes区域参数:4、vrrp_script区域参数:5、vrrp_instance区域参数:6、virtual_server区域参数: 一、Keepalived
转载
2024-10-25 09:31:01
428阅读
位图(bitmap)是一种非常有用的数据结构,在处理系统中的进程数管理、磁盘中的磁盘块管理、以及内存中的内存页的使用情况管理时非常有用。 同时在内核中对位图进行各种操作,现在总结一些常用的操作,以便在以后用到时方便回顾。 几个常用的宏定义: #defin
原创
2014-11-12 20:07:36
10000+阅读
了解Linux内核链表Linux内核中的链表https://www.cnblogs.com/wangzahngjun/p/5556448.htmlDEMO实例#include <stdio.h>
#include <string.h>
#include "list.h"
struct student
{
int age;
char name[64];
原创
2023-11-15 09:29:22
111阅读
使用的 glibc : glibc-2.17使用的 linux kernel :linux-3.2.07系统调用是内核向用户进程提供服务的唯一方法,应用程序调用操作系统提供的功能模块(函数)。用户程序通过系统调用从用户态(user mode)切换到核心态(kernel mode ),从而可以访问相应的资源。这样做的好处是:为用户空间提供了一种硬件的抽象接口,使编程更加容易。有利于系统安全。有利于每
转载
2024-05-08 09:06:18
274阅读
1.grep简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包 括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展
转载
2024-05-10 22:29:51
8阅读
Linux内核的特点: 结合了unix操作系统的一些基础概念Linux内核的任务: 1.从技术层面讲,内核是硬件与软件之间的一个中间层。作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。 2.从应用程序的层面讲,应用程序与硬件没有联系,只与内核有联系,内核是应用程序知道的层次中的最底层。在实际工作中内核抽象了相关细节。 3.内核是一个资源管理程序。负责将可用的
第一章 Linux内核简介通常一个内核由负责响应中断的中断服务程序,负责管理多个进程从而分享处理器时间的调度程序,负责管理进程地址空间的内存管理程序和网络、进程间通信等系统服务程序共同组成。每个处理器在任何指定时间点上的活动必然概况为下列三者之一:运行于用户空间,执行用户进程运行于内核空间,处于进程上下文,代表某个特定的进程执行运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定中断。例如
转载
2024-09-30 18:59:12
93阅读
1) Linux中主要有哪几种内核锁? 2) Linux中的用户模式和内核模式是什么含意? 3) 怎样申请大块内核内存? 4) 用户进程间通信主要哪几种方式? 5) 通过伙伴系统申请内核内存的函数有哪些? 6) 通过slab分配器申请内核内存的函数有? 7) ...
转载
2019-04-07 12:03:00
164阅读
2评论
1)Linux中主要有哪几种内核锁?Linux的内核锁主要是自旋锁和信号量。自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图请求一个已被争用(已经被持有)的自旋锁,那么这个线程就会一直进行忙循环——旋转——等待锁重新可用。要是锁未被争用,请求它的执行线程便能立刻得到它并且继续进行。自旋锁可以在任何时刻防止多于一个的执行线程同时进入临界区。Linux中的信号量是一...
原创
2021-09-28 17:37:09
152阅读
一:内核编译前准备 (一)查看使用的操作系统版本 hostnamectl (二)下载Linux内核源码包(含疑惑) 原本打算使用低版本的Linux内核进行实验,但是编译完成了几个3.X版本以后发现总是出现CPU死机或者无法开机情况,所以这里还是先用与原系统内核的版本相近的进行编译(占了近20G空间)
转载
2020-09-10 19:10:00
828阅读
点赞
2评论
01Linux的基础一、Linux内核的特征1、linux内核组织形式为整体式结构2、进程调度方式简单有效3、支持内核线程(或称为守护进程)4、支持多种平台的虚拟内存管理5、虚拟文件系统6、模块机制(使内核之间相互独立,方便模块的移植)7、增加了系统调用1.Linux内核在系统中的位置2.Linux内核子系统之间的管理主要由五部分组成3.系统数据结构task_struct、mm_struct、in
转载
2024-03-25 17:37:30
106阅读
使用 Linux 系统调用的内核命令探究 SCI 并添加自己的调用级别: 中级M. Tim Jones (mtj@mtjones.com ), 顾问工程师, Emulex2007 年 4 月 17 日Linux® 系统调用 —— 我们每天都在使用它们。不过您清楚系统调用是如何在用户空间和内核之间执行的吗?本文将探究 Linux 系统调用接口(SCI),学习如
线程分类:内核线程、用户线程(指不需要内核支持而完全建立在用户空间的线程库,这种线程效率高,由于Linux内核没有轻量级进程(线程)的概念,因此不能独立的对用户线程进行调度,而是由一个线程运行库来组织线程的调度)和轻量级线程(内核线程的高级抽象,大多数操作涉及到系统调用,效率不高)。 传统的Unix系统把一些重要的任务委托给周期性的执行进程,这些任务包括刷新磁盘高速缓存,交换出不用的页框,维护网络连接等。这些线程只运行在内核态(普通进程既可以运行在内核态,也可以运行在用户态),内核线程只运行在内核态,所以只使用大于PAGE_OFFSET的线性地址空间。现代操作系统把它们的函数委托...
转载
2013-07-05 22:18:00
1052阅读
2评论