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内核原理
20179226《
Linux内核原理
与分析》第一周读书笔记
Linux基础入门1.在命令行中用man获取帮助man手册通常被分为8个区段:查看相应区段内容,就在man后面加上相应区段数字即可,如:2.输出图形字符命令banner输出图形字符命令printerbanner3.查看用户创建切换用户删除用户4.进入home目录及获取当前路径绝对路径与相对路径5.新建空白文件、目录复制文件、目录要注意:直接用cp命令复制一个目录的话会出现错误删除只读权限文件时可以
20179226任逸飞
·
2017-10-01 12:00
20169211《
Linux内核原理
与分析》课程总结
第一周作业:linux入门学习:熟悉操作linux的基础命令第二周作业:实验反汇编一个简答的C程序,学习汇编代码的工作过程第三周作业:学习linux内核的启动过程第四周作业:学习linux内核进程相关的知识,实验学习时间片轮转多道程序原理第五周作业:学习使用GDB调试跟踪内核的启动过程第六周作业:学习linux系统调用相关的知识并进行实验操作分析第七周作业:实验分析学习Linux内核创建一个新进程
20169211_李超
·
2016-12-18 22:00
20169203《
Linux内核原理
与分析》课程总结
第一周作业:对Linux的基本知识进行了了解,并对基本操作进行熟悉和应用。第二周作业:了解了冯诺依曼体系结构、各种寄存器的功能和汇编指令的作用和功能。第三周作业:对近三周的Linux学习做了下总结第四周作业:了解Linux内核的进程管理和系统调用,并模拟了Linux系统的时钟中断第五周作业:理解Linux的进程调度与内核数据结构,调试Linux内核,观察系统中代码的执行过程第六周作业:理解Linu
李学生
·
2016-12-18 20:00
20169212《
Linux内核原理
与分析》课程总结
20169212《
Linux内核原理
与分析》课程总结每周作业链接汇总第一周作业:完成linux基础入门实验,了解一些基础的命令操作。
Jarvan_D
·
2016-12-18 17:00
20169217 《
Linux内核原理
与分析》 课程总结
博客链接:第一周作业摘要:学习了实验楼linux基础入门课程。第二周作业摘要:实验楼实验一:反汇编一个简单的程序。书《linux内核设计与实现》:第1章,第2章,第18章内容。第三周作业摘要:自己对于为何要学习linux的感想。第四周作业摘要:实验二:分析精简内核源代码mymain.c和myinterrupt.c书上第2章和第5章内容。第五周作业摘要:使用gdb跟踪调试内核从start_kerne
刘弘毅
·
2016-12-18 13:00
20169210《
Linux内核原理
与分析》课程总结
每周作业链接汇总第一周作业:对实验楼《Linux基础入门(新版)》课程的学习,其中有用户及文件权限管理、Linux目录结构及文件基本操作、环境变量与文件查找、文件打包与解压缩等共17节的内容,并且每一节都有配套实验操作。作业链接:http://www.cnblogs.com/crisgy/p/5907128.html二维码:第二周作业:网易云课堂《Linux内核分析》第一节计算机是如何工作的。课本
刘翠杰
·
2016-12-18 12:00
20169215 《
Linux内核原理
与分析》课程总结
(按顺序)每周作业链接汇总第一周作业:本周学习了Linux基础入门,主要是和Linux有关的快捷键、shell命令、用户和文件权限设置等内容。第二周作业:本周主要是学习了和寄存器有关的知识以及操作寄存器的部分汇编指令,反汇编一段简单的C程序。同时还学习了《Linux内核设计与实现》的1、2、8章,了解Linux内核的发展和特点,以及对内核代码的调试。第三周作业:学习了内存中的堆与栈,了解它们在内存
20169215
·
2016-12-18 11:00
20169219《
Linux内核原理
与分析》课程总结
第一周作业这周主要学习l了linux基础入门这个课,还是很有用的。一周学完,前两个可能做起来比较慢,但是后面就快了,不要放弃希望,你可以的!我就是没写到博客里面,哼哼,你就不要看了。自己总结吧,摊手。第二周作业网易云课堂:反汇编一个简单的程序,画出每步执行之后的堆栈变化。《linux内核设计与实现》:第1章——Linux内核简介第2章——从内核出发第18章——调试第四周作业网易云课堂:分析精简内核
毛卫华
·
2016-12-17 20:00
20169207《
Linux内核原理
及分析》第十三周作业
第一周作业::对Linux的基本知识进行了了解,并对基本操作进行熟悉和应用。第二周作业::了解了冯诺依曼体系结构、各种寄存器的功能和汇编指令的作用和功能。第三周作业::这周主要了解了Linux系统的架构,熟悉了常用的一些命令。第四周作业::模拟了系统中的时钟中断。第五周作业:::调试Linux内核,观察系统中代码的执行过程。第六周作业::了解系统调用,并写一个C语言的代码嵌入系统调用命令。第七周作
唐宋5231
·
2016-12-12 15:00
20169219《
Linux内核原理
及分析》第十二周作业
格式化字符串漏洞实验格式化字符串攻击原理是利用格式化函数(如printf())的沿着堆栈指针向下打印的特性,通过只提供格式化字符串但不提供对应的变量,读取栈内空间的内容。更进一步,通过将某个要攻击的目标地址放入栈中,就可以利用格式化字符串读写里面的值。因此,它的攻击分为两步:(1)第一步,将目标地址放入栈中;(2)第二步,设计格式化字符串,读写目标地址里的值。格式化字符串漏洞是由像printf(u
毛卫华
·
2016-12-11 23:00
20169212《
Linux内核原理
及分析》第十二周作业
格式化字符串漏洞实验格式化字符串漏洞是由像printf(user_input)这样的代码引起的,其中user_input是用户输入的数据,具有Set-UIDroot权限的这类程序在运行的时候,printf语句将会变得非常危险。实验一:找出secret[1]的值输入命令:lsvitest.cgcc-zexecstack-fno-stack-protector-odjwtest.c其中test.c的代
Jarvan_D
·
2016-12-11 21:00
20169215《
Linux内核原理
及分析》第十二周作业
Collabtive系统SQL注入实验实验介绍SQL注入漏洞的代码注入技术,利用web应用程序和数据库服务器之间的接口。通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。在这个实验中,我们利用的web应用程序称为Collabtive,禁用Collabtive的若干对策。这样我们就创建了一个容易受到SQL注入攻击的Collabtive版本。
20169215
·
2016-12-11 20:00
20169212《
Linux内核原理
与分析》第十一周作业
缓冲区溢出漏洞实验缓冲区溢出漏洞:缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况。这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段。这一漏洞的出现是由于数据缓冲器和返回地址的暂时关闭,溢出会引起返回地址被重写。输入命令安装一些用于编译32位C程序的东西:sudoapt-getupdatesudoapt-getinstalllib32z1libc6-dev-i38
Jarvan_D
·
2016-12-04 21:00
20169215 《
Linux内核原理
与分析》 第十一周作业
设备与模块设备驱动和设备管理的四种内核成分:设备类型:在所有Unix系统中为了统一普遍设备的操作锁采用的分类。模块:Linux内核中用于按需加载和卸载目标码的机制。内核对象:内核数据结构中支持面向对象的简单操作,还支持维护对象之间的父子关系。sysfs:表示系统中设备树的一个文件系统。Linux设备被分为三种类型:块设备:可以以块为单位寻址,支持重定位操作(对数据的随机访问)。字符设备:不可寻址,
20169215
·
2016-12-04 20:00
20169212《
Linux内核原理
与分析》 第十周作业
云课堂回顾学习1.进程调度的时机中断处理过程(包括时钟中断、I/O中断、系统调用和异常)中,直接调用schedule(),或者返回用户态时根据need_resched标记调用schedule();内核线程可以直接调用schedule()进行进程切换,也可以在中断处理过程中进行调度,也就是说内核线程作为一类的特殊的进程可以主动调度,也可以被动调度;用户态进程无法实现主动调度,仅能通过陷入内核态后的某
Jarvan_D
·
2016-11-27 22:00
20169215 《
Linux内核原理
与分析》 第十周作业
进程地址空间进程地址空间是指用户空间中进程的内存,是每个用户空间进程所看到的内存。Linux采用虚拟内存技术,进程之间以虚拟的方式共享内存,每个进程好像都可以访问整个系统的所有物理内存。进程地址空间由进程可寻址的虚拟内存组成。可以被访问的合法地址空间称为内存区域,进程只能访问有效内存区域内的内存地址。访问了不在有效范围内的内存区域或者以不正确的方式访问了有效地址的进程会被内存终止,并返回“段错误”
20169215
·
2016-11-27 13:00
20169212《
Linux内核原理
与分析》 第九周作业
可执行程序的装载一、预处理、编译、链接和目标文件的格式可执行程序是怎么来的?通过以下这个图来呈现过程:以我们常写的helloworld为例。我们编写了一个helloworld的.c文件,我们来把它进行预处理,预处理就是gcc–e–ohello.cpp(预处理的中间命令)hello.c–m32,这里就把.c的文件预处理了一下。我们可以看到hello.cpp里面有前面的include.h文件,如果里面
Jarvan_D
·
2016-11-20 23:00
20169215《
Linux内核原理
与分析》 第九周作业
网络云课堂学习之前我们学习过,Linux是通过fork()产生一个和父进程几乎一样的子进程,但这并不是我们需要的新进程,还需要用新的代码和数据替换掉子进程中对应的内容,才能达到创建一个我们想要的新进程的目的,也就是可执行程序的装载。首先了解下C代码转换成可执行程序的过程:gcc-E-ohello.cpphello.c-m32这行命令用于生成.cpp文件,主要是将include的文件包含进来并且将宏
20169215
·
2016-11-20 21:00
20169212《
Linux内核原理
与分析》第八周作业
理论task_struct的结构关系非常庞大的数据结构,400多行代码。包括对进程链表的管理,控制台,文件系统描述,文件描述符,内存管理描述,信号描述等。创建一个新进程在内核中的执行过程fork、vfork和clone三个系统调用都可以创建一个新进程,而且都是通过调用do_fork来实现进程的创建;Linux通过复制父进程来创建一个新进程,那么这就给我们理解这一个过程提供一个想象的框架:复制一个P
Jarvan_D
·
2016-11-13 22:00
20169215《
Linux内核原理
与分析》第八周作业
时间和内存管理定时器和时间管理内核中大量函数都是基于时间驱动的。体系结构提供了两种设备进行计时——系统定时器和实时时钟。实时时钟(RTC)是用来持久存放系统时间的设备,系统关闭后靠主板上的微型电池供电,它在系统启动时初始化xtime变量。系统定时器以某种频率自行触发时钟中断,该频率可通过编程预定,称作节拍率;连续两次时钟中断的时间间隔称为节拍。提高节拍率有利有弊,优点是:内核定时器能以更高的频度和
20169215
·
2016-11-13 19:00
20169212《
Linux内核原理
与分析》第七周作业
实验给MenuOS增加time和time-asm命令的方法:更新menu代码到最新版再main()函数中增加MenuConfig增加对应的Time函数和TimeAsm函数(这里的函数要换成我们自己编写的使用系统调用的函数,比如mkdir和mkdirAsm)makerootfs(帮我们自动编译自动生成根文件系统,自动帮我们启动起来menuos)接下来我要使用gdb跟踪分析一个系统调用内核函数(mkd
Jarvan_D
·
2016-11-06 22:00
20169215《
linux内核原理
与分析》第七周作业
内核同步和同步方法内核同步防止共享资源并发访问是因为如果有多个执行线程同时访问和操作数据,可能发生各线程之间相互覆盖共享数据的情况,造成被访问数据处于不一致态。临界区是访问和操作共享数据的代码段,为了避免临界区中并发访问,必须保证这些代码原子地执行,即执行结束前不可被打断。避免并发和防止竞争条件称为同步。对于单个变量,内核提供的实现原子操作的借口可以防止他们被并发访问。对于数据结构,需要确保一次有
20169215
·
2016-11-06 22:00
20169212《
Linux内核原理
与分析》第六周作业
视频学习一、用户态、内核态和中断内核态:处于高的执行级别下,代码可以执行特权指令,访问任意的物理地址,这时的CPU就对应内核态用户态:处于低的执行级别下,代码只能在级别允许的特定范围内活动。在日常操作下,执行系统调用的方式是通过库函数,库函数封装系统调用,为用户提供接口以便直接使用。Intelx86CPU有四种不同的执行级别0-3,Linux只使用了其中的03级分别表示内核态和用户态。cs寄存器的
Jarvan_D
·
2016-10-30 23:00
20169215《
Linux内核原理
与分析》第六周作业
中断和下半部中断机制就是在硬件需要的时候向内核发出信号。中断本质上是一种由硬件向处理器发出的特殊的电信号,不考虑与处理器的时钟同步。不同的设备对应不同的中断,所以每个中断都通过一个唯一的数字标,称为中断请求(IRQ)线。异常称为同步中断,是由处理器本身产生的中断;异步中断由其他硬件产生的。中断处理程序内核执行的用来响应中断的函数叫中断处理程序或者中断服务例程,是设备驱动程序的一部分。每个中断都有相
20169215
·
2016-10-30 18:00
20169212《
Linux内核原理
与分析》第五周作业
关于linux内核源码两个很关键的目录,一个是arch(architecture),支持不同cpu体系架构的源代码,其中最重要的就是x86(一般把x86留下,其他的目录删掉),另一个是init(其中的main.c是整个linux内核启动的起点,不过这里面不是main()函数,而是一个叫start_kernel的函数),linux内核的核心代码在kernel目录中。上一节中的命令makeallnoc
Jarvan_D
·
2016-10-23 22:00
20169215《
Linux内核原理
与分析》第五周作业
进程调度与内核数据结构进程调度进程调度程序是确保进程能有效工作的一个内核子系统。多任务操作系统就是能同时并发地交互执行多个进程的操作系统,期可以划分为两类:非抢占式多任务和抢占式多任务。Linux采用的是抢占式多任务。进程分为I/O消耗型和处理器消耗型,调度策略通常要做到进程响应迅速和最大系统利用率。Linux更倾向于优先调度I/O消耗性进程。Linux的进程优先级采用两种不同的优先级范围。第一种
20169215
·
2016-10-23 20:00
20169212《
Linux内核原理
与分析》第四周作业
Linux第四周作业1.堆栈知识首先回顾了下堆栈相关的知识,堆栈机制是高级语言可以运行的一个基础,这一块需要重点掌握。函数发生调用时,如图call指令:将eip的按顺序执行的下一条指令(因为在执行call的时候,eip保存的是call语句下一条指令的地址)的地址保存在当前栈顶,然后设置eip的值为要跳转到的函数的开始的地址ret指令:将之前使用call指令的保存在栈里面的地址恢复到eip中去。2.
Jarvan_D
·
2016-10-16 23:00
20169215《
Linux内核原理
与分析》第四周作业
进程管理与系统调用进程管理进程是处于执行期的程序,包括挂机的信号、内核内部数据、处理器状态、代码段、数据段、一个或多个具有内存映射的内存地址空间及一个或多个执行程序。线程是在进程中活动的对象,内核调度的对象是线程而不是进程,但是在Linux系统中对线程和进程并不特别区分。进程描述符task_struct包含的数据能完整的描述一个正在执行的程序。该结构体中的每个进程标识值PID唯一标识一个进程,它与
20169215
·
2016-10-16 17:00
20169212《
Linux内核原理
与分析》第三周作业
最近,深入的阅读了《Linux内核设计与实现》这本书,以下是碰到的一些问题,在此和大家进行交流学习。碰到的问题1.为什么不要在linux内核中使用浮点数(这个问题由于书上讲的不够明白,所以导致自己不能理解,去参考别的资料才弄懂)浮点的编码跟整数编码是不一样的,计算时需要专门的寄存器和浮点计算单元来处理,一个浮点运算指令使用的CPU周期也更长。因此对于内核来说就会想尽量回避浮点数运算,譬如说浮点数经
Jarvan_D
·
2016-10-09 22:00
20169215《
Linux内核原理
与分析》第三周作业
内存中的堆与栈在本科学习数据结构的时候,我们学过两种数据结构:堆和栈。栈就像一个存放数据的桶,后进先出;堆是一种经过排序的树形结构,每个结点都有一个值,其根结点的值最大(最小),根结点的两棵子树也是堆。但是经过上一周的学习,我发现系统内存中分配的堆和栈与本科时学习的数据结构的堆栈有点不同,于是就查询了一些资料,从而了解内存分配中的堆和栈。C语言程序内存分配中的堆栈堆栈是高级语言的基础,它是C语言运
20169215
·
2016-10-09 18:00
20169215 《
Linux内核原理
与分析》第二周作业
网易云课堂学习笔记第一周1、所有带E的寄存器都是32位的。EAX累加器,EBX基地址寄存器,ECX计数寄存器,EDX数据寄存器,EBP堆栈基指针,ESI、EDI变址寄存器,ESP堆栈顶指针。CS代码段寄存器,DS数据段寄存器,ES附加段寄存器,SS堆栈段寄存器,FS附加段寄存器,GS附加段寄存器。带R的寄存器都是64位的。2、b、w、l、q分别代表8位、16位、32位和64位movl%eax,%e
20169215
·
2016-10-02 17:00
20169212《
Linux内核原理
与分析》第二周作业
《
Linux内核原理
与分析》第二周作业这一周学习了MOOCLinux内核分析的第一讲,计算机是如何工作的?
Jarvan_D
·
2016-10-02 17:00
20169212《
Linux内核原理
与分析》第一周作业
实验使用touch创建文件:man手册的内容很多,涉及了Linux使用过程中的方方面面,为了便于查找,是做了分册(分区段)处理的,在ResearchUNIX、BSD、OSX和Linux中,手册通常被分为8个区段:要查看相应区段的内容,就在man后面加上相应区段的数字即可,如:man1ls会显示第一区段中的ls命令man页面。如果你知道某个命令的作用,只是想快速查看一些它的某个具体参数的作用,那么你
Jarvan_D
·
2016-09-25 22:00
[置顶]
Linux内核原理
-pid namespace
前言这几晚在看进程相关的内核原理,正好看到了pid这块,看起来不是很复杂,但是引入了pidnamespace后增加了一些数据结构,看起来不是那么清晰了,参考了Linux内核架构这本书,看完后感觉还没有理解。所以就在网上找了一些文章参考,其中我发现了一篇质量相当不错的文章,为什么说质量不错呢主要是因为笔者在博文中并没有乱贴代码一桶,也没有按照常规的代码分析,而是以一种追踪溯源的方法还原了整个pid的
zhangyifei216
·
2015-11-19 13:00
linux
namespace
kernel
pid
Linux内核原理
-进程入门
进程进程是处于执行期的程序,进程不仅仅是一段可执行程序的代码,通常进程还包括其他资源,比如打开的文件,挂起的信号,内核内部的数据结构,处理器状态,内存地址空间,或多个执行线程,存放全局变量的数据段等。线程是进程中活动的对象,每个线程都拥有一个独立的程序计数器,进程炸,和一组进程寄存器。内核调度的对象是线程,而不是进程。传统的Unix系统中一个进程只包含一个线程。对于linux而言,线程只不过是一种
zhangyifei216
·
2015-11-07 22:00
linux
kernel
进程
学习linux的经典书籍和文献汇总
│
Linux内核原理
学习.ppt│linux内核完全注释.pdf│linux命令大全.pdf│linux设备驱动中文板.zip│TheLinuxKerneltips.pdf│UNIX常用命令.doc│操作系统
duanlove
·
2012-07-05 12:28
嵌入式技术
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
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
其他