学习笔记
文章平均质量分 60
wugsh15
分享所学,分享快乐!
展开
-
Docker 总结 脑图
docker 使用总结原创 2022-09-06 09:58:53 · 320 阅读 · 1 评论 -
linux4.4 实时补丁安装
一.下载内核linux-4.4和内核实时补丁patch-4.4-rt3.patch;二. 打入实时补丁:进入内核目录后patch -p1 像下面这样把它加入到patch文件中:zcat path/to/patch-x.y.z.gz | patch -p1bzcat path/to/patch-x.y.z.bz2 | patch -p1三. 内核配置 $mak原创 2016-03-04 15:27:49 · 3785 阅读 · 0 评论 -
实时抢占补丁
一. Linux 在实时方面的不足1. 早期的linux在任何时候。硬中断、软中断、tasklet、bh具有最高优先级,它们能够中断任何其他实时任务,并且在中断处理时,中断可能被长时间地关闭,其他任务得不到调度,会造成很大的延迟。2. 早期的linux不支持抢占3. 早期的linux在操作某些核心数据结构时, 为保证数据的完整性,采取了关闭中断的措施。4. 早期时钟管理系统分辨率很原创 2016-07-14 22:00:22 · 515 阅读 · 0 评论 -
调度算法
原创 2016-06-25 17:57:37 · 352 阅读 · 0 评论 -
在服务器上配置Git仓库
第一步,安装git:$ sudo apt-get install git 第二步,创建一个git用户,用来运行git服务:$ sudo adduser git 第三步,初始化Git仓库:因为我打算把git仓库就放在/home/git下面,所以就直接用useradd创建git用户(组)$ sudo git init –bare –share git.git原创 2016-05-06 10:10:49 · 670 阅读 · 0 评论 -
linux内核调试工具Kprobes
一、kprobe简介kprobe是一个动态地收集调试和性能信息的工具,它从Dprobe项目派生而来,是一种非破坏性工具,用户用它几乎可以跟踪任何函数或被执行的指令以及一些异步事件(如timer)。它的基本工作机制是:用户指定一个探测点,并把一个用户定义的处理函数关联到该探测点,当内核执行到该探测点时,相应的关联函数被执行,然后继续执行正常的代码路径。kprobe实现了三种类型的探测转载 2016-04-21 15:44:20 · 655 阅读 · 0 评论 -
Qemu+Gdb debug linux kernel
Use Qemu and Gdb debug the kernelAuthor: wugsh15Review: Date: 2015-12-18Expires: 2015-12-18Keywords: qemu gdb kernelRef: http://blog.csdn.net/silangquan/article/details/9090915 http://原创 2015-12-19 10:49:25 · 452 阅读 · 0 评论 -
linux工具---用qemu调试linux内核
一.qemu模拟x861.1 qemu的安装 ubuntu 12.04下安装qemu很简单, sudo apt-get install qemu1.2 linux内核的编译 www.kernel.org 下载内核, 以linux-3.0.1为例 sun@ubuntu:/work/x86/kernel$ tar xf ./linux-转载 2016-05-15 09:54:08 · 1441 阅读 · 0 评论 -
sprintf()/simple_strtoul()
字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数,使用时经常出问题,而且只要出问题通常就是能导致程序崩溃的内存访问错误。无非就是那么几种情况,通常用眼睛再把出错的代码多看几眼就看出来了。目录函数简介参数说明及应用举例使用sprintf 的常见问题展开函数简介转载 2016-04-14 16:42:56 · 402 阅读 · 0 评论 -
实时系统概述
一. 实时系统1. 硬实时系统2. 软实时系统二. 性能指标、基本需求和POSIX兼容性1. 服务响应时包括:A.任务启动时间:任务启动时间受影响的因素:a, 外部中断事件 b. 中断延迟 c.中断处理时间 d. 调度器延迟 e. 任务调度时间 。周期性任务通常是通过任务本身设置的定时器到期通知触发。时间管理系统的精确性决定了周期性任务的服务响应时原创 2016-06-25 22:51:16 · 905 阅读 · 0 评论 -
Some questions about RT-preempt
How does the CONFIG_PREEMPT_RT patch work?The RT-Preempt patch converts Linux into a fully preemptible kernel. The magic is done with:Making in-kernel locking-primitives (using spinlocks) pree原创 2016-07-22 09:32:27 · 496 阅读 · 0 评论 -
linux4.4安装实时补丁性能差异
1、测试实时操作系统使用命令cyclictestcyclictest是rt-tests下的一个测试工具,一般用来测试使用内核的延迟,从而判断内核的实时性。2、案例讲解 $ cyclictest -l100000000 -m -n -t1 -p99 -i200 -h400 -q 使用-m参数锁定内存分配,-n参数使用nanosleep而不是sleep, -t1使用一个线程原创 2016-08-16 11:20:40 · 2373 阅读 · 0 评论 -
关于linux实时抢占补丁
关于RT-Preempt Patch:标准的Linux内核只达到了软实时的要求:对用户空间的时间处理提供了基本的POSIX操作,但是对硬时间限制没有保证。通过Ingo Molnar的Realtime Preemption patch(简称为RT-Preempt)和Thomas Gleixner的有着高精度支持的通用时钟事件层,内核就获得了硬实时的能力。RT-Preempt patc原创 2016-07-24 15:20:15 · 1720 阅读 · 0 评论 -
计算机论文投稿
系统: OSDI、SOSP、 HOTOS、 Linux Kernel、RT: RTSS、RTAS高性能: HPCA、HPDC、ICS、MASCOTS、performance计算机学院TOP40:一、A类1.ASPL原创 2017-03-01 15:51:00 · 1357 阅读 · 0 评论 -
ZShell
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:池建强链接:http://zhuanlan.zhihu.com/mactalk/19556676来源:知乎Linux/Unix提供了很多种Shell,为毛要这么多Shell?难道用来炒着吃么?那我问你,你同类型的衣服怎么有那么多件?花色,质地还不一样。写程序比买衣服复杂多了,而且程序员往往负责把复转载 2016-03-17 17:07:23 · 841 阅读 · 0 评论 -
linux调度器概述
linux调度器概述一.linux进程的分类1.进程的分类当涉及有关调度的问题时, 传统上把进程分类为”I/O受限(I/O-dound)”或”CPU受限(CPU-bound)”. 另外一种分类法把进程区分为三类: 2.实时进程与普通进程 在linux中, 调度算法可以明确的确认所有实时进程的身份, 但是没办法区分交互式程序和批处理程序(统称为普通进程), linux2.6的调度程序实现了基于原创 2016-11-19 22:24:30 · 1102 阅读 · 0 评论 -
虚拟内核文件系统概述
虚拟内核文件系统(VirtualKernel File Systems 是指那些是由内核产生但并不存在于硬盘上(存在于内存中)的文件系统,他们被用来与内核进行通信前面介绍的ext2,ext3,jffs2,yaffs2等目录和文件,都是真真正正、实实在在的存储在具体的外部存储设备上的,它们可能是在本机的硬盘、闪存、光盘中,可能保存在不只一个磁盘分区中,也可能保存在网络中其它主机的存储设备中原创 2016-11-07 10:43:22 · 736 阅读 · 0 评论 -
Vim编辑器的使用
Vim编辑器的使用一.vim的启动 输入vi命令后,便进入全屏幕编辑环境,此时的状态为命令模式。1.vim 进入vim的一个临时缓冲区,光标定位在该缓冲区第1行第1列的位置上。2.vim filename 如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在该缓冲区第1行第1列的位置上。二.退出vim 建议在退出vim前,先按ESC键,以确保当前原创 2016-10-16 15:57:19 · 347 阅读 · 0 评论 -
Linux源代码目录
Linux用来支持各种体系结构的源代码包含大约4500个C语言程序,存放在270个左右的子目录下,总共大约包含200万行代码,大概占用58MB磁盘空间。 源代码所有在目录:/usr/src/linux (大部分linux发行版本中) init 内核初始化代码 kernel 内核核心部分:进程、定时、程序执行、信号、模块。。。 mm 内存处理 arch 平台相关代码转载 2016-05-16 17:39:28 · 856 阅读 · 0 评论 -
调度器
一.调度器概述(内核3.18)1.调度时机:a.调用cond_resche()时。b.显式调用schedule()时。c.从系统调用或者异常中断返回用户空间时。d.从中断上下文返回到用户空间时。2.struct task_group 调度组linux可以以以下两种方式进行进程的分组:用户ID:按照进程的USER ID进行分组,在对应的/sys/ker原创 2016-09-13 22:30:50 · 723 阅读 · 0 评论 -
ctags + tagslist + cscope常用命令
熟练的使用ctags仅需记住下面七条命令: $ctags –R * ($为Linux系统Shell提示符,这个命令上面已经有所介绍) $ vi –t tag (请把tag替换为您欲查找的变量或函数名) :ts (ts助记字:tagslist, “:”开头的命令为VI中命令行模式命令) :tp (tp助记字:tagspreview)—此命令不常用,可以不用原创 2016-01-05 17:20:42 · 1014 阅读 · 0 评论 -
linux 2.6 中断,异常
什么是中断Linux 内核需要对连接到计算机上的所有硬件设备进行管理,毫无疑问这是它的份内事。如果要管理这些设备,首先得和它们互相通信才行,一般有两种方案可实现这种功能:轮询(polling) 让内核定期对设备的状态进行查询,然后做出相应的处理;中断(interrupt) 让硬件在需要的时候向内核发出信号(变内核主动为硬件主动)。第一种方案会让内核做不少的无用功转载 2016-04-06 20:35:18 · 370 阅读 · 0 评论 -
Linux 调度器发展简述
引言进程调度是操作系统的核心功能。调度器只是是调度过程中的一部分,进程调度是非常复杂的过程,需要多个系统协同工作完成。本文所关注的仅为调度器,它的主要工作是在所有 RUNNING 进程中选择最合适的一个。作为一个通用操作系统,Linux 调度器将进程分为三类:交互式进程此类进程有大量的人机交互,因此进程不断地处于睡眠状态,等待用户输入。典型的应用比如编辑器 vi。此类进程对系统响应时间转载 2016-04-05 17:51:28 · 951 阅读 · 0 评论 -
linux 下解压文件
linux下解压命令大全.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .原创 2015-12-24 15:16:10 · 362 阅读 · 0 评论 -
Sigsetjmp 和 Siglongjmp
在使用函数的时候,需要先声明一个sigjmp_buf型的变量,用来保存某一位置(时刻)堆栈上下文的信息。原型: //直接调用则返回0, 从siglongjmp调用返回则返回非0值.int sigsetjmp(sigjmp_buf env, int savesigs);void siglongjmp(sigjmp_buf env, int val);原创 2015-12-22 16:44:15 · 393 阅读 · 0 评论 -
优先级反转
1. 优先级反转(Priority Inversion) 由于多进程共享资源,具有最高优先权的进程被低优先级进程阻塞,反而使具有中优先级的进程先于高优先级的进程执行,导致系统的崩溃。这就是所谓的优先级反转(Priority Inversion)。2. 产生原因 其实,优先级反转是在高优级(假设为A)的任务要访问一个被低优先级任务(假设为C)占有的资源时,被阻塞.而此时又转载 2016-01-20 20:06:05 · 266 阅读 · 0 评论 -
lnux 的信号
APUE3的第十章“信号”的缩减版:http://www.cnblogs.com/biyeymyhjob/archive/2012/08/04/2622265.html原创 2015-12-17 14:31:22 · 273 阅读 · 0 评论 -
管道
原文:http://www.embeddedlinux.org.cn/html/xinshourumen/201510/20-3993.html管道命令操作符是:”|”,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandarderror 信息没有直接处理能力。然后,传递给下一个命令,作为标准的输入 standard in原创 2015-12-14 21:20:05 · 375 阅读 · 0 评论 -
僵尸进程 and 孤儿进程
原文:http://www.51testing.com/html/38/225738-206225.html http://www.cnblogs.com/Anker/p/3271773.html1.僵尸进程概念:僵尸进程(Zombie Process):就是已经结束了的进程,但是没有从进程表中删除。太多了会导致进程表里面条目满了,进而导致系统崩溃,倒是不占用其原创 2015-12-14 20:39:53 · 305 阅读 · 0 评论 -
《线程的同步》 与 Linux 查看系统硬件信息(实例详解)
http://www.cnblogs.com/ggjucheng/archive/2013/01/14/2859613.html转载 2015-12-24 15:23:08 · 318 阅读 · 0 评论 -
格式化C语言命令indent
indent是linux下一个能力极强的代码整理软件,使用他,可以轻松的写出代码风格十分精良的代码。但是indent的参数太多,使用起来不是很容易,怎么办呢?查看/usr/src/linux-headers-/scripts/Lindent文件 ,可以看到一行代码:indent -npro -kr -i8 -ts8 -sob -l80原创 2015-12-29 16:54:12 · 359 阅读 · 0 评论 -
linux配置网络
1. ifconfig 查看网络接口的信息。普通用户使用ifconfig的全路径:/sbin/ifconfig ifconfig 网络接口名称 :显示指定接口的详细信息。ifconfig -a 查看所有网络接口的信息。2. route 显示路由表 route | grep default 显示主机的默认网关。3.ping -c 4 192.168.1.10原创 2015-12-25 11:05:26 · 448 阅读 · 0 评论 -
linux 用户管理
Linux添加/删除用户和用户组1、建用户:啊、grep ‘username’ /etc/passwd //查看系统内是否有username用户adduserphpq //新建phpq用户passwdphpq //给phpq用户设置密码2、建工作组grep g原创 2015-12-25 11:06:38 · 210 阅读 · 0 评论 -
git diff 比较两个版本的差异
git init #在当前的目录下创建一个新的空的本地仓库Initialized empty Git repository in /home/user/test_proj/.git/$ git add . #把前目录下的所有文件全部添加到暂存区$ git commit -m 'project init' #创建提交[master (root-commit) b36a785] project原创 2016-01-27 16:15:35 · 1712 阅读 · 0 评论 -
linux进程
linux进程状态浅析 众所周知,现在的分时操作系统能够在一个CPU上运行多个程序,让这些程序表面上看起来是在同时运行的。linux就是这样的一个操作系统。 在linux系统中,每个被运行的程序实例对应一个或多个进程。linux内核需要对这些进程进行管理,以使它们在系统中“同时”运行。linux内核对进程的这种管理分两个方面:进程状态管理,和进程调度。本文主要介绍进程状态管理,进程调度见转载 2016-04-05 17:43:25 · 326 阅读 · 0 评论 -
linux sed 的用法
linux之sed用法sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有转载 2016-02-25 09:29:08 · 219 阅读 · 0 评论 -
linux awk命令详解
简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfred Aho转载 2016-02-25 09:26:29 · 301 阅读 · 0 评论 -
linux grep命令详解
简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更转载 2016-02-25 09:24:26 · 253 阅读 · 0 评论 -
linux中O(1)调度算法与完全公平(CFS)调度算法
一、O(1)调度算法1.1:优先级数组O(1)算法的:一个核心数据结构即为prio_array结构体。该结构体中有一个用来表示进程动态优先级的数组queue,它包含了每一种优先级进程所形成的链表。1#define MAX_USER_RT_PRIO 1002#define M原创 2016-03-07 15:37:39 · 565 阅读 · 0 评论 -
分析文件系统minix
1. bximage 生成镜像文件 2.mkfs.minix a.img 在镜像文件a.img中写入minix文件系统 3.sudo mount a.img /mnt 挂载文件系统 4.hexdump a.img 查看minix文件系统。2.文件系统任务2:将任务1中的文件系统挂载到/mnt下,然后创建一个目录,名字为bin,然后再将文件系统hexdump,分析创建bin文件后的原创 2016-03-01 21:50:40 · 588 阅读 · 0 评论