E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
内核学习
linux
内核学习
(17)内核编程基本功之内核链表list_entry
内核中链表的使用非常广泛,这里将linux/list.h中的部分,也是最常用的宏定义给总结了。Pro-III、内核链表:1、定义+初始化:#defineLIST_HEAD_INIT(name){&(name),&(name)}#defineLIST_HEAD(name)/structlist_headname=LIST_HEAD_INIT(name)staticinlinevoidINIT_LIS
cug_fish_2009
·
2020-06-23 01:34
Linux
内核学习
(3)——内核配置选项
在"Linux
内核学习
(2)——内核配置与编译"中,我们提到了内核配置,但是对于那么多的配置选项,真是云里雾里,所以我们通过本文进行梳理,通过makexconfig的图形界面,我们可以看到主要的配置选项有
bitsec
·
2020-06-22 18:46
Linux
Linux
内核学习
-内核模块参数module_param
Linux2.6允许用户insmod的时候往内核模块里面传递参数,它主要使用module_param宏定义来实现这一功能。module_param的定义可以在include/linux/moduleparam.h文件里面查看到,它的原型为:module_param(name,type,perm);module_param_array(name,type,nump,perm);其中module_pa
Yao_GUET
·
2020-06-22 09:25
Linux内核学习
Windows
内核学习
(1)
Windows
内核学习
内存、进程、线程、I/O等核心体设备驱动硬件抽象层(HAL)内存布局2GB内核空间0xffffffff64kb非法空间0X7FFFFFFF进程空间0X7FFF00064kbNULL
Air_cat
·
2020-06-21 16:08
编程
Windows内核
汇编语言
Linux
内核学习
笔记(八)Page Cache与Page回写
Pagecache是通过将磁盘中的数据缓存到内存中,从而减少磁盘I/O操作,从而提高性能。此外,还要确保在pagecache中的数据更改时能够被同步到磁盘上,后者被称为page回写(pagewriteback)。一个inode对应一个pagecache对象,一个pagecache对象包含多个物理page。对磁盘的数据进行缓存从而提高性能主要是基于两个因素:第一,磁盘访问的速度比内存慢好几个数量级(
东瓜
·
2020-05-31 09:41
java
Linux 思维导图整理(建议收藏)
Linux学习路径Linux桌面介绍FHS:文件系统目录标准Linux需要特别注意的目录Linux
内核学习
路线地址:https://www.jianshu.com/p/b08...LinuxSecurityCoachingGitHub
民工哥
·
2020-04-06 18:28
linux
服务器
运维
Linux
内核学习
课程总结
感谢学堂在线与孟宁老师提供的精彩课程,让我获益良多.最大收获便是对Linux内核有了整体的认识.可以指导自己在以后的工作,学习中不断学习,深化对Linux的认识.老师在课程中所讲授的:三个法宝,两把宝剑,大S、小s,道生一、一生二、二生三、三生万物等内容为我巩固了基础知识并提炼了内核基本思想和实际调试时的操作方式.道生一,一生二,二生三,三生万物:道生一(start_kernel创建cpu_idl
梅花小筑
·
2020-03-18 21:22
Linux
内核学习
(二)
“从一个业内人士的视角来欣赏和理解Linux内核的设计和实现之美。”进程:是处于执行期的程序以及相关的资源的总称。完全可能存在两个或多个不同的进程执行的是同一个程序。并且两个域两个以上并存的进程还可以共享许多诸如打开的文件、地址空间之类的资源。父进程调用fork()系统产生子进程。在现代操作系统中,进程提供两种虚拟机制:虚拟处理器和虚拟内存虚拟处理器:虽然实际上可能是许多进程正在分享一个处理器运算
uangianlap
·
2020-03-17 00:50
Linux内核分析的大题小做
经过这么久的学习,我们大概摸到了Linux
内核学习
的框架以及方法。Linux内核被内核黑客优化的如此精妙,以至于我们在惊叹于其
athorn
·
2020-02-20 12:19
Linux
内核学习
总结
文君+原创作品转载请注明出处+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000历次实验目录linux实验一,计算机是如何工作的?本次实验主要讲了计算机的工作方式以及x86汇编基础,包括冯诺依曼体系结构,从硬件角度,逻辑上可以抽象为:CPU中存在一个寄存器IP(instructionpointer),IP总是指向内存中
问君西游何时还
·
2020-01-06 01:32
Linux
内核学习
012——进程调度(一)
Linux
内核学习
012——进程调度(一)进程是程序运行态的表现形式,而确保进程有效工作的是一个内核子系统——调度程序。调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间。
若梦儿
·
2020-01-06 00:35
Linux
内核学习
011——进程管理(七)
Linux
内核学习
011——进程管理(七)进程终结当一个进程终结时,内核必须释放其所占有的资源,并通知其父进程。一般而言,进程的结束是由自身引起的。
若梦儿
·
2019-12-30 18:42
Linux
内核学习
总结
Linux
内核学习
总结学习心得1.计算机是如何工作的复习了微机原理、汇编语言等相关知识,对计算机体系结构及工作原理有了更清晰的认识2.操作系统是如何工作的?
xiaoxii
·
2019-12-30 15:07
Linux
内核学习
013——进程调度(二)
Linux
内核学习
013——进程调度(二)Linux的进程调度早期版本(1~2.4)的Linux内核中,调度程序十分简陋,其设计易于理解但是非常原始。采用所有任务的方式完成调度,其复杂度为O(n)。
若梦儿
·
2019-12-30 02:41
Linux
内核学习
总结
2.Linux
内核学习
线
AMG架构师
·
2019-12-30 02:30
linux
内核学习
笔记1-各种架构下的内存模型
linux内存模型引用https://www.cnblogs.com/virusolf/p/4951122.html?from=singlemessageimage.pngarm_v8的内存模型结构体的内存分配首先,结构在C语言中也是一种数据类型,叫做聚组类型(还包括数组)。他和其他的数据类型是一样的,在定义一个结构体的时候,系统并不会为他真正的分配内存空间(定义的结构体变量要在编译的阶段才分配空
scott_yu779
·
2019-12-28 21:12
Linux
内核学习
014——进程调度(三)
Linux
内核学习
014——进程调度(三)Linux调度算法在Linux中,调度器是以模块方式提供的,这样可以允许不同类型的进程有针对性地选择调度算法。
若梦儿
·
2019-12-27 07:39
十大使用 Linux Lab 的理由
LinuxLab是一套用于Linux
内核学习
、开发和测试的即时实验室,可以极速搭建和使用,功能强大,用法简单!
amxjek
·
2019-12-22 20:32
十大
十大使用 Linux Lab 的理由
LinuxLab是一套用于Linux
内核学习
、开发和测试的即时实验室,可以极速搭建和使用,功能强大,用法简单!
itwriter
·
2019-12-22 07:00
Linux
内核学习
(一)
“从一个业内人士的视角来欣赏和理解Linux内核的设计和实现之美。”内核空间:内核独立于普通应用程序,它一般处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限,这种系统态和被保护起来的内存空间,统为内核空间。当内核运行时,系统以内核态进入内核空间执行。用户空间:应用程序在用户空间执行,它们只能看到允许它们使用的部分系统资源,并且只使用某些特定的系统功能,不能直接访问硬件,也不能访问内核划给别
uangianlap
·
2019-12-17 21:18
Linux
内核学习
010——进程管理(六)
Linux
内核学习
010——进程管理(六)线程进程(process)是计算机中已经运行程序的实体,是系统进行资源分配的基本单位。每个进程都被操作系统分配了一定的资源,比如:内存、文件、信号量等。
若梦儿
·
2019-12-16 09:42
Linux
内核学习
总结
对Linux系统的理解及学习Linux内核的心得:首先非常感谢网易推出的这个云课堂平台,使我这个走出校门多年的人能重温在校学习的乐趣。我还要感谢中科大孟宁老师推出的《Linux内核分析》这门课程,使我这个在工作中使用多年的操作系统第一次能有机会分析的这么透彻。在我看来Linux很好的继承了Unix系统小即是美的特点,同时又不失易用性。其完全开放的精神使其在近几年内发展壮大,同类众多重量级的商业操作
aapu
·
2019-12-01 15:06
Linux
内核学习
总结
目录列表1计算机是如何工作的?2操作系统是如何工作的?3跟踪分析Linux内核的启动过程4系统调用的工作机制5系统调用system_call的处理过程6进程的描述和进程的创建7Linux内核如何装载和启动一个可执行程序8进程调度的时机和进程切换心得体会通过老师对汇编,堆栈,内核的初始化,系统调用,进程,可执行程序的加载,进程调度讲解,对Linux内核有了一个初步的了解,一个操作系统的样貌也在脑海里
夏天的篮球
·
2019-11-30 07:31
linux
内核学习
初级篇
Linux内核获取地址官网:https://www.kernel.org/Linux操作系统的核心是模块化,可以使用lsmod命令查看内核模块,下面展示已载入系统的模块:ModuleSizeUsedbynfsv3394360nfs_acl128371nfsv3nfs2518221nfsv3lockd936002nfs,nfsv3grace132951lockdfscache649871nfsres
风筝Lee
·
2019-09-30 17:56
linux内核
Linux
内核学习
经验总结
内核学习
,一偏之见;疏漏难免,恳请指正。
hero小执着
·
2019-09-20 10:49
linux
linux技术
内核学习
之调用门试验
调用门实验目标:使得一个3环程序能够读取出0环的数据步骤分析:3环程序的cs段寄存器保存的是3环的CPL3环程序的cs段寄存器不可见部分保存的段描述符,是一个DPL为3的段描述符需要将3环的cs段寄存器的CPL改成0,将一个0环的代码段描述符加载到cs的不可见部分.最后3环程序才有0环的特权等级去访问0环的数据.实现步骤:在GDT表中手工构造一个调用门在3环程序中加载这个调用门.(加载调用门是为了
#搬砖仔
·
2019-08-28 22:00
熊大微评微内核|华为“鸿蒙”所涉及的微内核究竟是什么?
本篇文章是RT-Thread新加入伙伴,俊小哥对微
内核学习
后的科普文章,本文是第一篇;还有第二篇《Fuchsia微内核的性能指标情况》,已有初稿,后续在整理完毕后再分享给大家,会详细给出相同硬件平台下Fuchsia
Peter盼
·
2019-08-13 12:03
Linux
内核学习
经验总结
内核学习
,一偏之见;疏漏难免,恳请指正。
马哥教育
·
2019-07-19 09:51
Linux
云计算相关
浏览器
内核学习
浏览器最重要或者说核心的部分是“RenderingEngine”,可大概译为“渲染引擎”,不过我们一般习惯将之称为“浏览器内核”。负责对网页语法的解释(如标准通用标记语言下的一个应用HTML、JavaScript并渲染(显示)网页。渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,
DayBreakL
·
2019-05-08 17:25
Linux
内核学习
路线 学习linux内核的建议
学习linux内核是需要一步一步循序渐进,掌握正确的linux
内核学习
路线对学习至关重要,本篇文章就来分享学习linux内核的一些建议吧。1.了解操作系统基本概念。
拓宽视野
·
2019-03-04 15:11
计算机专业知识
Linux
内核学习
013——进程调度(二)
Linux
内核学习
013——进程调度(二)Linux的进程调度早期版本(1~2.4)的Linux内核中,调度程序十分简陋,其设计易于理解但是非常原始。采用所有任务的方式完成调度,其复杂度为O(n)。
ruomeng0x2018
·
2019-02-08 19:00
Linux
内核学习
007——进程管理(三)
Linux
内核学习
007——进程管理(三)进程状态在进程描述符中,long类型的state描述了进程的当前状态。如下所示:进程状态可以分为三大类:>0停止运行,=0可以运行,-1不可运行。
ruomeng0x2018
·
2019-02-02 20:00
liunx
内核学习
常常有人问:我想学习内核,需要什么基础吗?LinusTorvalds本人是这样回答的:你必须使用过Linux。这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需:1,关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》《现代操作系统》等巨著,但总要知道分时(time-shared)和实时(real-time)的区别是什么,进程是个什么东西,CPU和系统总线、内存的
NaNa_yzj
·
2018-11-12 12:25
PHP7
内核学习
--3源码阅读工具Source Insight
在研究PHP7源码之前,我们首先要掌握学习源码的方法论。首先是阅读工具Windows环境下有一款功能强大的IDE:SourceInsight,内置了C++代码分析功能;同时还能自动维护项目内的符号数据库,使用非常方便。安装过程这里不再赘述,下边来看看具体的使用过程。安装完成以后,打开后的界面如图1-2所示。首先来创建一个工程,点击Project,选择NewProject命令,在弹出的窗口中输入工程
白菜喵
·
2018-11-02 15:58
php
Linux
内核学习
书籍
转自:https://blog.csdn.net/21aspnet/article/details/6585602关于
内核学习
我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码
LinuxBegin
·
2018-10-11 15:29
Linux内核学习
Linux
内核学习
笔记1--使用docker搭建内核编译环境
前言这是一个系列的开篇,我希望这个系列完成后我可以达到入门Linux内核的水平,可以看懂邮件列表上各位神仙在聊什么,可以对我日常的工作有一定的反哺,这是我的目的。在以后的每篇文章中可能不止包含Linux内核相关的知识,也会有很多其他的东西,比如像这次的docker,以后可能会有debug内核工具的介绍,但这些不是主题,而是我为了实现目的的一个辅助方法。工欲善其事,必先利其器。最近一直在学习Linu
No_red
·
2018-08-05 17:00
linux源代码
UCOSiii 杂谈【1】
【UCOSIII
内核学习
】UCOSIII中将已经就绪的任务放到任务就绪表里:优先级映射表和就绪任务列表在优先级映射表中,bit31代表优先级0,因为这样通过计算前导零CLZ来找到最高优先级任务。
Dummkopfer
·
2018-07-06 21:04
Linux
内核学习
笔记——进程通信手段
Linux
内核学习
笔记——进程通信手段一.学习内容1.SystemV的IPC机制2.块设备驱动程序3.套接字(socket)二.实验工具工具清单代码分析软件sourceinsight4.0系统环境Windows
FBI_Dustin
·
2018-06-29 15:30
Linux
Linux
内核学习
笔记(五)——系统调用
1、与内核通信 系统调用在用户空间进程和硬件设备之间添加了一个中间层。作用:为用户空间提供一种硬件的抽象接口。系统调用保证了系统的稳定和安全。系统调用时用户空间访问内核的唯一手段(异常和陷入除外)。2、API、POSIX和C库 应用程序通过用户空间实现的应用编程接口(API)而不是直接通过系统调用来编程。 Unix最流行的应用编程接口是基于POSIX标准的,POSIX定义的API函数和系
horotororensu
·
2018-06-26 09:33
Linux
Linux
内核学习
笔记(四)——进程调度
进程调度程序是在可运行态进程之间分配有限的处理器时间资源的内核子系统。 调度程序完成的基本工作是,在一组处于可运行状态的进程中选择一个来执行。1、多任务 多任务操作系统是能同时并发地交互执行多个进程的操作系统。 多任务系统分为两类:非抢占式多任务和抢占式多任务。 抢占式多任务模式下,由调度程序来决定什么时候停止一个进程的运行,以便其他进程能够得到执行机会。这个强制的挂起动作
horotororensu
·
2018-06-26 09:40
Linux
Linux
内核学习
笔记(十一)内核同步方法(自旋锁,信号量,互斥锁,完成变量,顺序锁,禁止抢占)
原子操作Linux内核提供了多种同步机制,这些机制本质上都是通过原子操作来实现的。原子操作可以保证指令以原子方式执行,不会被中途打断(中断也不会打断一个指令,处理器只有在当前指令完成后才会去处理中断)。内核提供了两套原子操作的接口,一套用于整数原子操作,一套用于进行位原子操作。这些接口的实现是和架构相关的,Linux系统支持的所有架构都实现了这些接口。大部分架构为简单的算术运算提供了原子版本的指令
胡LiuJia
·
2018-06-09 02:34
kernel
读书笔记
Linux
内核学习
笔记(十)中断处理的下半部(Bottom Halve)
为什么需要下半部中断处理程序有如下局限性:中断处理程序是异步中断,被其中断执行的代码(包括别的中断处理程序)可能正在执行非常重要的任务,为了避免被中断进程停止过长时间,中断处理程序的执行应该越快越好。中断处理程序会禁用其服务的中断线(没有设置IRQF_DISABLE),这是最好的情况。最坏的情况下会禁用当前处理器上所有中断(设置了IRQF_DISABLED)。禁用中断期间,硬件设备无法和操作系统通
胡LiuJia
·
2018-06-06 23:58
kernel
读书笔记
Linux
内核学习
笔记(八)Page Cache与Page回写
#综述Pagecache是通过将磁盘中的数据缓存到内存中,从而减少磁盘I/O操作,从而提高性能。此外,还要确保在pagecache中的数据更改时能够被同步到磁盘上,后者被称为page回写(pagewriteback)。一个inode对应一个pagecache对象,一个pagecache对象包含多个物理page。对磁盘的数据进行缓存从而提高性能主要是基于两个因素:第一,磁盘访问的速度比内存慢好几个数
胡LiuJia
·
2018-06-02 23:19
kernel
读书笔记
Linux
内核学习
笔记(六)进程调度
综述内核调度子系统负责进程调度,调度程序决定让哪个进程运行、什么时候运行、运行多久。调度程序的目标有两个:一个是最大化系统资源的利用率,一个是减少和用户的交互延迟,让用户觉得多个进程在同时运行。这两个目标是冲突的,需要做trade-off。多任务操作系统多任务操作系统指的是指可以多个进程同时交错执行的操作系统。在单处理器机器上,用户会产生有多个进程同时在不同的处理器上在同时执行的错觉。多任务系统可
胡LiuJia
·
2018-05-29 13:55
kernel
读书笔记
Linux
内核学习
笔记(四)进程管理
进程简介进程(Process)是Unix操作系统最基本的抽象概念之一。进程是正在执行的程序,同时也是操作系统进行资源管理的最小单位,进程需要管理打开的文件、挂起的信号、内核内部数据、处理器状态等。线程(Thread)是进程中正在执行的程序片段,是操作系统进行调度的最小单位,一个线程指的是进程中一个单一顺序的控制流。Linux中线程只是一个特殊的进程,并没有对进程和线程进行专门的区分。进程提供了两种
胡LiuJia
·
2018-05-09 17:40
kernel
读书笔记
Linux
内核学习
笔记(三)Block I/O层
块设备(BlockDevice)简介块设备是一种以块(block)为单位可以进行随机存取的硬件设备。常见的块设备有硬盘,软盘,闪存等。块设备的最小寻址单元是扇区(sector),一个扇区是2\^n个字节,512Bytes是最常见的扇区大小。内核的文件系统使用块(block)作为最小寻址单元。block的大小是sector的2\^n次方倍(n可以为0),但是不大于pagesize.常见的block大
胡LiuJia
·
2018-04-27 19:04
kernel
读书笔记
Linux
内核学习
笔记(二)内存管理
综述本文首先介绍和内存管理相关的一些概念如page,zone,然后介绍多种获得内存的方式,最后介绍Linux的slab层(slab分配器)。页(page)页是Linux内核进行内存管理的基本单元。MMU和虚拟内存也都使用页作为基本管理单元。不同的架构有不同的页大小,绝大部分的情况是32-bit使用4KB页大小,64-bit使用8KB页大小。这意味着如果一台机器的物理内存为1GB大小,大小为4KB,
胡LiuJia
·
2018-04-24 15:05
kernel
读书笔记
Linux
内核学习
笔记(一) 虚拟文件系统VFS
什么是VFSVritualFilesystem是给用户空间程序提供统一的文件和文件系统访问接口的内核子系统。借助VFS,即使文件系统的类型不同(比如NTFS和ext3),也可以实现文件系统之间交互(移动、复制文件等),从用户空间程序的角度来看,VFS提供了一个统一的抽象、接口。这使得用户空间程序可以对不同类型的文件系统发起统一的系统调用,而不需要关心底层的文件系统类型。从文件系统的角度来看,VFS
胡LiuJia
·
2018-04-20 17:20
kernel
读书笔记
2.Linux
内核学习
之进程调度初探(2)进程调度的实现(CFS)
1概述CFS的代码在kernel/sched_fair.c中实现,其中最重要的为这四个部分:时间记账进程选择调度器入口睡眠与唤醒2时间记账调度器需要对进程的运行时间进行记账,这样才可以得知进程的运行时间,从而在当前运行的进程时间片减少为0时,调度其他时间片不为0的进程进行抢占。2.1调度器实体结构在Linux中,CFS使用调度器实体结构(在中定义)来追踪进程进行记账,这个结构体被命名为se,然后作
大风qixi
·
2018-01-16 11:17
Linux
内核学习
笔记——进程管理
定义进程就是处于执行期的程序。实际上,进程就是正在执行代码的实际结果。线程是在进程中活动的对象,每个线程都拥有独立的程序计数器,进程栈以及一组进程寄存器。内核的调度对象是线程,而不是进程。进程的两种虚拟机制虚拟处理器:每个线程独有,不能共享虚拟内存:同一个进程中的线程可以共享进程描述符及任务结构任务队列:存放进程列表的双向循环链表task_struct:进程描述符,包含一个具体进程的所有信息。2.
wipen
·
2017-08-16 17:16
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他