对/proc和/sys的一些理解】的更多相关文章

一切皆文件,设备(文件)可以通过读写来操作:/proc procfs:/sys sysfs: 个人的理解(不知对不对,感觉有些片面)/proc是内存中有关系统进程的实时信息:/sys是有关系统内核以及驱动的实时信息: 通过读写/proc相关文件,可以实现一些功能:cat /proc/cpuinfo//查看当前CPU信息 echo "1" > /proc/sys/net/ipv4/ip_forward//开启内核转发功能 /sys显示当前系统的驱动信息,根据linux内核驱动模型来…
http://blog.chinaunix.net/uid-1835494-id-3070465.html  proc/x:1/sched http://bbs.chinaunix.net/thread-2002769-1-1.html proc文件系统详解 Linux系统上的/proc目录是一种文件系统,即proc文件系统.与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进…
一.在/proc中实现文件 当某个进程读取我们的/proc文件时,内核会分配一个内存页,即PAGE_SIZE字节的内存块.驱动程序可以将数据通过这个内存页返回到用户空间. 第一种方法,不采用seq_file int write_proc(struct file *file, const char *buffer, size_t count, loff_t *ppos){ } int read_proc(struct file *file, char *buffer, size_t count,…
近来文章被踩的厉害,我只想把自己从马哥学的知识自己总结下发到博客里,但是没想到昨天一篇文章刚发一上午被踩了9次...如果您真的觉得我的文章很烂,请告诉我原因,不胜感激. 这星期,马哥讲了关于Linux内核的编译和Linux的内核模块,浅显易懂,所以写出来和大家一起分享学习成果.首先说明,这只是简单的编译,和手动添加模块,而这篇主要介绍linux的内核分类,和linux内核相关的两个文件夹/proc    /sys   这是实现内核编译和添加内核模块的理论基础. 内核的分类: 1. 微内核:尽可能…
转:http://www.360doc.com/content/10/0527/18/9922_29835045.shtml 这篇文章说的很好http://blog.chinaunix.net/u1/38994/showart_2022040.html: 如何使用busybox精简版本udev程序--mdev动态创建插入的u盘和鼠标等设备 busybox的mdev是一个精简了的udev管理程序,它可以间接的以hotplug方式被内核调用,进而在arm平台上/dev目录下动态创建设备 节点,因为h…
本文详细地介绍了MySQL 5.7新引入的sys schema.首先,本文概要地介绍了sys schema的作用和定位:其次,分别介绍了sys schema中的视图.函数和存储过程:接下来,通过两个例子来演示sys schema的用法,便于大家理解sys schema带来的实实在在的好处:最后讨论了sys schema还可以增加的内容. 1. sys schema的介绍 sys schema是MySQL 5.7.7中引入的一个系统库,包含了一系列视图.函数和存储过程, 该项目专注于MySQL的易…
都说容器大法好,可是假设没有Docker镜像,Docker该是多无趣啊. 是否还记得第一个接触Docker的时候,你从Docker Hub下拉的那个镜像呢?在那个处女镜像的基础上.你执行了容器生涯的处女容器.镜像的基石作用已经非常明显.在Docker的世界里,能够说是:No Image,No Container. 再进一步思考Docker镜像,大家可能非常快就会联想到下面几类镜像: 1.系统级镜像:如Ubuntu镜像.CentOS镜像以及Debian容器等: 2.工具栈镜像:如Golang镜像.…
写在前面 当我开始大范围使用Kubernetes的时候,我开始考虑一个我做实验时没有遇到的问题:当集群里的节点没有足够资源的时候,Pod会卡在Pending状态.你是没有办法给节点增加CPU或者内存的,那么你该怎么做才能将这个Pod从这个节点拿走?最简单的办法是添加另一个节点,我承认我总是这么干.最终这个策略无法发挥出Kubernetes最重要的一个能力:即它优化计算资源使用的能力.这些场景里面实际的问题并不是节点太小,而是我们没有仔细为Pod计算过资源限制. 资源限制是我们可以向Kuberne…
1. 编译运行 代码从如下链接获得: https://github.com/torvalds/linux/blob/master/samples/configfs/configfs_sample.c 编写 Makefile 文件: obj-m += configfs_sample.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell unam…
Docker的镜像理解以及容器的备份.恢复和迁移操作 这篇文章主要介绍了Docker的镜像理解以及容器的备份.恢复和迁移操作,覆盖很多原理知识以及容器的重要操作步骤,极力推荐!需要的朋友可以参考下 Docker镜像的基本知识1.1 什么是Docker镜像从整体的角度来讲,一个完整的Docker镜像可以支撑一个Docker容器的运行,在 Docker容器运行过程中主要提供文件系统视角.例如一个ubuntu:14.04的镜像,提供了一个基本的ubuntu:14.04的发行版,当然此 镜像是不包含操作…
设备注册于设备除名     设备注册与设备除名一般有 register_netdev和unregister_netdev完成.这两个是包裹函数,负责上锁,真正起作用的是其调用的register_netdevice和unregister_netdevice.参见:net/core/dev.c.     下图描述了设备注册过程中的一些状态变化     状态的改变会用到UNINITIALIZED和REGISTERED之间的状态REGISTERING.这些进程有netdev_run_todo进行.参照"…
Atitit ABI FFI 的区别与联系 attilax总结 FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. The 'libffi' library real…
转自:http://www.ibm.com/developerworks/cn/linux/l-cn-kernelmodules/ 为保持 Linux 内核的稳定与可持续发展,内核在发展过程中引进了可装载模块这一特性.内核可装载模块就是可在内核运行时加载到内核的一组代码.通常 , 我们会在两个版本不同的内核上装载同一模块失败,即使是在两个相邻的补丁级(Patch Level)版本上.这是因为内核在引入可装载模块的同时,对模块采取了版本信息校验.这是一个与模块代码无关,却与内核相连的机制.该校验机…
紧接着上一篇Linux的命令行的学习:Linux学习3---(文件的压缩和解压缩命令zip unzip tar.关机和重启命令shutdown reboot……) 1.挂载命令     简介         简单的理解为Windows中的分配盘符         在安装Linux的时候,往往设置了/./boot.swap分区,所以这些分区在开机时都是自动挂载的.但是像光盘.U盘.移动硬盘……要想使用,就必须进行人为的挂载         像/proc./sys是内存分区,虽然没有手动设置,但是是…
本文转自iTOP-4412开发板实战教程书籍 http://www.topeetboard.com iTOP-4412开发板不仅可以运行Android,还可以运行简单的Linux最小文件系统. 最小Linux 系统“麻雀虽小,五脏俱全”,它不带图形界面的Linux 系统,剔除干扰因素便于理解,用来学习Linux系统编程非常合适. 另外,Linux最小系统占用的内存空间很小,也经常用于不带图形界面的项目. 1. 最小Linux系统简介 制作文件系统需要使用到Busybox工具. BusyBox是一…
整个Android系统的启动分为Linux Kernel的启动和Android系统的启动.Linux Kernel启动起来后,然后运行第一个用户程序,在Android中就是init程序. ------------------------------------------------- 以下的内容应该算是学习笔记,特地整理成文. ------------------------------------------------- 1 init程序 init是linux系统中用户空间的第一个进程.由…
在Linux中,给kernel传递参数以控制其行为总共有三种方法: 1.build kernel之时的各个configuration选项. 2.当kernel启动之时,可以参数在kernel被GRUB或LILO等启动程序调用之时传递给kernel. 3.在kernel运行时,修改/proc或/sys目录下的文件. 这里我简单讲的就是第二种方式了,kernel在grub中配置的启动参数. 首先,kernel有哪些参数呢? 在linux的源代码中,有这样的一个文档Documentation/kern…
作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Boot 2010.12 (为支持uImage启动,做了少许改动) busybox版本:busybox 1.25 交叉编译工具链: arm-none-linux-gnueabi-gcc (gcc vers…
命令基本格式 (1)命令提示符 如下是命令行的命令提示符,以此为例,讲解含义. 其中: root 当前登录用户名 localhost 主机名 ~ 当前所在的目录(即家目录,用户登录的初始位置) # 超级用户的提示符 普通用户提示符为$ 注意:在Linux当中管理员账号是root,切记不是administrator (2)命令格式 Linux下的命令格式为: 命令 [选项] [参数] 注意:个别命令并不遵循此格式 当有多个选项时可以写在一起 下面举个例子,以查询目录中的内容的命令:ls,作为例子说…
Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统  nsswitch.conf配置文件 朋友们,今天我对你们说,在此时此刻,我们虽然遭受种种困难和挫折,我仍然有一个梦想.……我梦想有一天,这个国家会站起来,并真正实现其信条的真谛:‘我们认为这些真理是不言而喻的:人人生而平等.’……我梦想有一天,幽谷上升.高山下降,坎坷曲折之路成坦途,圣光披露.照满人间.——马丁·路德·金这有点扯远了,我肯定是比不上马丁·路德·金的.不过我曾经也有一个梦想,就是:当我的电脑一开机…
Linux就这个范儿 第10章 生死与共的兄弟 就说Linux系统的开机.必须经过加载BIOS.读取MBR.Boot Loader.加载内核.启动init进程并确定运行等级.执行初始化脚本.启动内核模块.执行对应运行等级的初始化脚本.个性化设置.进入登录状态这十个步骤.怎么样?服气吧!如果觉得还不够直观,那么看一下图10.1 Linux系统启动流程吧. LVS的IPVS模块也是采用动态加载的方式 图10.1 Linux系统启动流程那关机是不是会省点事儿呢?不是!Linux的关机会涉及4个命令和4…
Linux就这个范儿 第9章 特种文件系统 http://book.douban.com/reading/32081222/ P326 有一种文件系统,根本不在磁盘上.这种文件系统就是大名顶顶的ram-based filesystem.实际上,在Linux系统中,/dev./proc./sys目录里面的内容与硬盘是没有半毛钱关系的.那么这些玩意到底有什么用,怎么用,在听我白乎完以后,最好再去看看内核源代码中的一些文档.要知道文档这种东西,真正读起来就嫌少了. 至于你信不信,反正我是信了.在这一章…
第一部分:Docker镜像的基本知识 1.1 什么是Docker镜像 从整体的角度来讲,一个完整的Docker镜像可以支撑一个Docker容器的运行,在 Docker容器运行过程中主要提供文件系统视角.例如一个ubuntu:14.04的镜像,提供了一个基本的ubuntu:14.04的发行版,当然此 镜像是不包含操作系统Linux内核的. 说到此,可能就需要注意一下,linux内核和ubuntu:14.04Docker镜像的区别了.传统虚拟机安装ubuntu:14.04会包含两部分,第一,某一个L…
前面两篇文章分别介绍了mini2440开发板上运行的bootloader和kernel,到这里系统启动后其实是停留在一个“僵死”的状态---无法挂载根文件系统. 这里将介绍如何制作一个根文件系统,并且挂载到内核中---即让内核能够访问到文件系统中的目录和文件.从用户的角度来看文件系统无非就是各个目录和文件,注意,这些目录和文件可以存在内存中,也可以存在Nand Flash 或者NOR Flash中,视具体的文件系统而定.本文就用基于内存的initram 和基于网络的nfs文件系统做例子介绍文件系…
前言 Android系统是运作在linux kernal上的,因此它的启动过程也遵循linux的启动过程,当linux内核启动之后,运行的第一个进程是init,这个进程是一个守护进程,它的生命周期贯穿整个linux 内核运行的始终, linux中所有其他的进程的共同始祖均为init进程.当然为了启动并运行整个android系统,google实现了自己的init进程,下面主要分析init进程都做了些什么? 1.首先,init是一个守护进程,为了防止init的子进程成为僵尸进程(zombie pro…
mini2440 uboot使用nfs方式引导内核,文件系统 成于坚持,败于止步 看了一段时间的u-boot了,到今天才真正完全实现u-boot引导内核和文件系统,顺利开机,在此记录完整过程 1.首先如果你u-boot还没有一直也没有关系,这里上传了一个已经移植好的u-boot,版本问2010.03,多谢tekkaman分享的这个源码 分享下载地址:u-boot-2010.03 编译uboot的过程就不在多说了,解压到你希望的目录下执行make,当时事前安装好交叉编译工具,这个相信大家都会 编译…
fstab文件介绍 fstab文件包括了你的电脑上的存储设备及其文件系统的信息.它是决定一个硬盘(分区)被如何使用或者说整合到整个系统中的文件. 详细来说:用fstab能够自己主动挂载各种文件系统格式的硬盘.分区.可移动设备和远程设备等.对于Windows与Linux双操作系统用户.用fstab挂载FAT格式和NTFS格式的分区.能够在Linux中共享windows系统下的资源. 这个文件的全路径是/etc/fstab.它仅仅是一个文本文件,你可以用你喜欢的编辑器打开它,可是必须是root用户才…
Linux江湖13:我该如何备份系统 Posted on 2014-12-18 10:39 京山游侠 阅读(497) 评论(3) 编辑 收藏 在前面的一些文章中,我反复提到经常会把系统搞崩溃,所以备份系统就是一件不容忽视的事情.由于Linux系统本身的优越性,系统的备份和还原还是比较容易的.主要表现在以下方面: Linux系统所有的数据都以文件的形式存在,所以备份就是直接拷贝文件:硬盘分区也被当成文件,所以可以直接克隆硬盘数据. Linux系统自带很多实用工具,比如tar.dd.rsync等,备…
Android的init过程详解(一) Android的init过程(二):初始化语言(init.rc)解析 本文使用的软件版本 Android:4.2.2 Linux内核:3.1.10 本文及后续几篇文章将对Android的初始化(init)过程进行详细地.剥丝抽茧式地分析,并且在其中穿插了大量的知识,希望对读者了解Android的启动过程又所帮助.本章主要介绍了与硬件相关初始化文件名的确定以及属性服务的原理和实现. Android本质上就是一个基于Linux内核的操作系统.与Ubuntu L…
Android init.rc文件浅析 分类: Android2012-04-13 18:00 13149人阅读 评论(2) 收藏 举报 androidservicepathactionsocketcommand   目录(?)[+]   本文主要来自$ANDROID_SOURCE/system/init/readme.txt的翻译. 1 简述 Android init.rc文件由系统第一个启动的init程序解析,此文件由语句组成,主要包含了四种类型的语句:Action,Commands,Ser…