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内核原理
2018-2019-1 20189205 《
Linux内核原理
与分析》 第九周作业
进程的切换和系统的一般执行过程进程调度的时机Linux内核通过schedule函数来实现进程调度。每次调用schedule函数,其都会在进程队列中查找一个进程,将CPU分配给它。调用schedule函数的方法进程主动调用schedule函数,如进程调用阻塞的系统调用等待外设或主动休眠,最终会在内核中调用到schedule函数。松散调用,内核代码中可以随时调用schedule函数使当前内核路径让出C
20189205黄铸君
·
2018-12-09 22:00
2018-2019-1 20189204《
Linux内核原理
与分析》第九周作业
《庖丁解牛》第8章——进程的切换和系统的一般执行过程一、课程内容总结1、进程的调度时机与进程的切换操作系统原理中介绍了大量进程调度算法,这些算法从实现的角度看仅仅是从运行队列中选择一个新进程,选择的过程中运用了不同的策略而已。对于理解操作系统的工作机制,反而是进程的调度时机与进程的切换机制更为关键。2、进程调度的时机中断处理过程(包括时钟中断、I/O中断、系统调用和异常)中,直接调用schedul
20189204张博文
·
2018-12-09 21:00
《
Linux内核原理
与分析》进程调度的时机
进程调度的时机进程调度时机就是内核调用schedule函数的时机。当内核即将返回用户空间时,内核会检查need_resched标志是否设置。如果设置,则调用schedule函数,此时是从中断(或者异常、系统调用)处理程序返回用户空间的时间点作为一个固定的调度时间点。除此之外,内核线程和中断处理程序中任何需要暂时中止执行当前执行路径的位置都可以直接调用schedule(),比如等待某个资源就绪。进程
三天一个陈平安
·
2018-12-09 20:00
2018-2019-1 20189210 《
LInux内核原理
与分析》第九周作业
进程的切换和系统的一般执行过程(1)进程调度的时机1、schedule是一个内核函数,不是一个系统调用,进程的调度只发生在内核中,进程调度函数schedule()只能在内核中被调用,用户进程无法调用,因此,进程切换需要用到实现用户态到内核态的切换。2、中断处理过程直接调用schedule(),或者返回用户态时根据need_resched标记调用schedule()。内核线程是一个特殊的进程,只有内
20189210牟健
·
2018-12-09 20:00
20189220 余超《
Linux内核原理
与分析》第九周作业
理解进程调度时机跟踪分析进程调度与进程切换的过程本章的基础知识总结一般来说,进程调度分为三种类型:中断处理过程(包括时钟中断、I/O中断、系统调用和异常)中,直接调用schedule,或者返回用户态时根据need_resched标记调用schedule;内核线程可以直接调用schedule进行进程切换,也可以在中断处理过程中进行调度,也就是说内核线程作为一类的特殊的进程可以主动调度,也可以被动调度
余超20189220
·
2018-12-09 17:00
《
Linux内核原理
与分析》第九周作业
课本:第八章进程的切换和系统的一般执行过程进行进程调度的时机Linux内核通过schedule函数实现进程调度,schedule函数在运行队列中找到一个进程,把CPU分配给它调用schedule函数一次就是调度一次,调用schedule函数的时候就是进程调度的时机当内核即将返回用户空间时,内核会检查need_resched标志是否设置,若设置,则调用schedule函数,此时是从中断处理程序返回用
20189228郭子晨
·
2018-12-09 16:00
2018-2019-1 20189203《
Linux内核原理
与分析》第九周作业
第一部分课本学习进程的切换和系统的一般执行过程进程调度的时机Linux内核系统通过schedule函数实现进程调度,进程调度的时机就是内核调用schedule函数的时机。当内核即将返回用户空间时,内核会检查need_resched标志是否设置。如果设置,则调用schedule函数,此时是从中断(异常/系统调用)处理程序返回用户空间的时间点作为一个固定的调度时机点。简单总结进程调度时机如下:用户进程
20189203梓航
·
2018-12-09 13:00
2018-2019-1 20189208《
Linux内核原理
与分析》第九周作业
活动main函数编译有问题,div函数和系统中某个函数重名,浮点输出有问题,scanf也有问题修改如下scanf_s("%d%d",&a,&b);printf("div:%lf\n",div1(a,b));整体代码如下#include"pch.h"#include#include"../Staticlibtest/head.h"intmain(void){inta,b;printf("entert
假的课代表
·
2018-12-08 21:00
2018-2019-1 20189213《
Linux内核原理
与分析》第九周作业
进程的切换和系统的一般执行过程书本重要知识回顾1.进程调度的时机①中断处理过程直接调用schedule(),或者当内核返回用户态时根据need_resched标志调用schedule()。②内核线程是一个特殊的进程,只有内核态没有用户态,可以直接调用schedule()进行进程切换,也可以在中断处理过程中进行调度(内核线程可以直接访问内核函数,所以不会发生系统调用)。③内核线程作为一类的特殊的进程
20189213桂方平
·
2018-12-08 10:00
2018-2019-1 20189208《
Linux内核原理
与分析》第八周作业
学习笔记1.ELF目标文件格式编译器生成目标文件,目标文件与目标平台二进制兼容。ELF:可执行或可链接的格式,是目标文件格式标准。ELF类型:可重定位文件:编译器汇编器创建的.o文件,最后所有的.o文件链接为同一个linux内核。可执行文件:多个可重定位文件结合成可执行文件,除了运行时解析的共享库,其他重定位工作全部完成。共享目标文件:共享库,被其他可执行文件调用。如何看待ELF文件:可执行文件:
假的课代表
·
2018-12-02 23:00
2018-2019-1 20189219《
Linux内核原理
与分析》第八周作业
Linux内核如何装载和启动一个可执行程一.实验1.1理解编译链接的过程和ELF可执行文件格式。1.1.1编译链接过程能用图说明的问题,就少用文字描述:1.1.2ELF可执行文件ELF可执行文件中有三种主要的目标文件:一个可重定位文件保存着代码和适当的数据,用来和其他的object文件一起创建一个可执行文件或者是一个共享文件。主要是.o文件。一个可执行文件保存着一个用来执行的程勋;该文件指出了ex
archemiya
·
2018-12-02 23:00
2018-2019-1 20189204《
Linux内核原理
与分析》第八周作业
《庖丁解牛》第7章——可执行程序工作原理一、《庖丁解牛》学习内容总结1.A.out(最古老)COFF格式PE(Windows)、ELF(Linux中)2.ELF文件的3种类型可重定位文件可执行文件共享目标文件可以简单理解为没有主函数main的“可执行”文件Linux下共享库后缀为.so文件3.ELF文件的作用用于编译和连接(可重定位文件)用于加载执行(可执行文件)共享文件两者都有4.一个可重定位文
20189204张博文
·
2018-12-02 22:00
2018-2019-1 20189210 《
LInux内核原理
与分析》第八周作业
一、可执行程序工作原理程序编译预处理:gcc-Ehello.c-ohello.i编译:gcc-Shello.i-ohello.s-m32汇编:gcc-chello.s-ohello.o-m32链接:gcchello.o-ohello-m32-static其中用gcc-ohello.statichello.o-static静态编译出来的hello.static把C库里需要的东西也放到可执行文件里了,
20189210牟健
·
2018-12-02 20:00
Linux内核原理
第八次作业
Linux内核如何装载和启动一个可执行程序一、ELF可执行文件格式ELF格式分类:可重定位文件:用来和其他object文件一起创建可执行文件和共享文件可执行文件:指出应该从哪里开始执行共享文件:主要是.so文件,用来被链接编辑器和动态链接器链接(1)对ELF头的描述告诉系统如何创建一个进程的内存映像,section头表包含了描述文件sections的信息。当创建或增加一个进程映像时,理论上它会把程
20189223
·
2018-12-02 20:00
2018-2019-1 20189203《
Linux内核原理
与分析》第八周作业
第一部分课本学习ELF文件(目标文件)格式主要三种:1)可重定向文件:文件保存着代码和适当的数据,用来和其他的目标文件一起来创建一个可执行文件或者是一个共享目标文件。(目标文件或者静态库文件,即linux通常后缀为.a和.o的文件)2)可执行文件:文件保存着一个用来执行的程序。(例如bash,gcc等)3)共享目标文件:共享库。文件保存着代码和合适的数据,用来被下连接编辑器和动态链接器链接。(li
20189203梓航
·
2018-12-02 14:00
2018-2019-1 20189213《
Linux内核原理
与分析》第八周作业
可执行程序工作原理书本重要知识总结1.ELF文件ELF(ExcutableandLinkingFormat)即可执行的和可链接的格式,是一个目标文件格式的标准。通过readelf-hhello查看可执行文件hello的头部(-a查看全部信息,-h只查看头部信息),头部里面注明了目标文件类型ELF32。Entrypointaddress是程序入口,地址为0x400400,即可执行文件加载到内存中开始
20189213桂方平
·
2018-12-01 10:00
2018-2019-1 20189210 《
LInux内核原理
与分析》第七周作业
一、Linux内核创建一个新进程的过程1、操作系统内核三大功能是进程管理,内存管理,文件系统,最核心的是进程管理。2、对应的三个抽象的概念是进程,虚拟内存和文件。其中,操作系统最核心的功能是进程管理。3、fork被调用一次,能够返回两次。在父进程中返回新创建子进程的pid;在子进程中返回04、TASK_RUNNING有两个状态,一个是就绪态但是没有运行,另一个是运行态,这两个状态的转换依赖于内核中
20189210牟健
·
2018-11-25 21:00
2018-2019-1 20189219《
Linux内核原理
与分析》第七周作业
task_struct数据结构以下摘自wiki:Acomputerprogramisapassivecollectionofinstructions;aprocessistheactualexecutionofthoseinstructions.Severalprocessesmaybeassociatedwiththesameprogram;forexample,openingupseveral
archemiya
·
2018-11-25 21:00
2018-2019-1 20189213《
Linux内核原理
与分析》第七周作业
进程的描述和进程的创建1.课本基础知识汇总操作系统内核实现操作系统的三大管理功能:即进程管理、内存管理、文件系统。对进程的描述:在操作系统原理中,通过进程控制块PCB描述进程;在Linux内核中,通过一个数据结构structtask_struct来描述进程。对进程状态的描述:在操作系统原理中,进程有就绪态、运行态和阻塞态;在Linux内核中,就绪态和运行态都是相同的TASK_RUNNING状态,另
20189213桂方平
·
2018-11-25 20:00
2018-2019-1 20189204《
Linux内核原理
与分析》第七周作业
《庖丁解牛》第6章——进程的描述和进程的创建前面两周对系统调用机制进行了仔细的研究,本周将学习用来创建进程的系统调用fork。首先,必须先理解进程如何描述(pcb),其次再理解进程的创建过程和机制。一、学习内容及试验过程总结6.1进程的描述(由于此处的知识会与实验中研究数据结构structtask_struct的任务重复,所以将structtask_struct的知识统一放在实验任务中整理)此处要
20189204张博文
·
2018-11-25 13:00
2018-2019-1 20189203 《
Linux内核原理
与分析》第七周作业
第一部分实验增加fork命令,运行MenuOS如下:设置断点:跟踪调试过程:停在的do_fork()的位置上停在copy_process停在dup_task_struct停在copy_thread第二部分代码分析SYSCALL_DEFINE0(fork){#ifdefCONFIG_MMUreturndo_fork(SIGCHLD,0,0,NULL,NULL);#elsereturn-EINVAL;
20189203梓航
·
2018-11-25 12:00
2018-2019-1 20189213《
Linux内核原理
与分析》第六周作业
系统调用的三层机制(下)给MenuOS增加time和time_asm命令首先是删除menu目录,并用gitclone重新克隆一个新版本的menu:进入menu,由于已经提供了一个脚本rootfs,运行makerootfs脚本就可以自动编译并自动生成根文件系统,并同时运行MenuOS系统:在MenuOS系统中执行已经添加过的time和time-asm命令:然后我们打开menu目录下的test.c文件
20189213桂方平
·
2018-11-18 21:00
2018-2019-1 20189203《
linux内核原理
与分析》第六周作业
第一部分给MenuOS增加命令输入命令rm-rfmenugitclonehttp://github.com/mengning/menu.gitmakerootfs查看增加的time和time_asm命令第二部分实验(使用gdb跟踪调用内核函数)1.操作我选用的是上周使用的rename,首先编辑menu中的test.c文件,给MenuOS增加rename和rename_asm命令,如图运行可以看到M
20189203梓航
·
2018-11-18 18:00
2018-2019-1 20189219《
Linux内核原理
与分析》第六周作业
回顾entry_32.S本章实验主要讲的是sys_call的具体流程,谈到具体流程,我们必须要结合代码进行分析。这里书上已经帮我们总结好了,我们只就简要的记录一下。精简的entry_32.S490ENTRY(system_call)491RING0_INT_FRAME#can'tunwindintouserspaceanyway492ASM_CLAC493pushl_cfi%eax#saveori
archemiya
·
2018-11-18 14:00
2018-2019-1 20189210 《
LInux内核原理
与分析》第六周作业
系统调用实验(下):将第四章的两个实验集成到MenuOS系统中,将其作为MenuOS系统的两个命令,新版本的menu中已经把两个系统调用添加进去了,只需重新克隆一个新版本的menu。使用makerootf打开menu镜像,可以看到MenuOS菜单中新增了两条命令,time和time-asm。使用gdb跟踪系统调用内核函数sys_time同第二个实验,打开gdb,在函数中设置断点,按c继续执行,在断
20189210牟健
·
2018-11-18 08:00
2018-2019-1 20189204《
Linux内核原理
与分析》第六周作业
《庖丁解牛》第5章——系统调用的三层机制(下)一、学习内容及试验过程总结5.1给MenuOS增加命令给MenuOS增加time和time-asm命令更新menu代码到最新版在main函数中增加MenuConfig增加对应的Time函数和TimeAsm函数makerootfs过程及结果如图所示我使用的是20号系统调用,实验过程如下5.2使用gdb跟踪系统调用内核函数sys_time5.3系统调用在内
20189204张博文
·
2018-11-16 22:00
2018-2019-1 20189204《
Linux内核原理
与分析》第五周作业
《庖丁解牛》第4章——系统调用的三层机制(上)一、学习内容及实践过程整理4.1用户态、内核态和中断库函数封装系统调用,使得程序员不直接接触到系统调用,保持整个系统的稳定,避免崩溃。1.用户态与内核态的区分内核只能被系统调用操作,系统调用可以被API、Shell、应用程序操作,API和SHELL可以被应用程序操作2.Intelx86CPU的执行级别——0~3,数字越小,级别越高OS----Ring0
20189204张博文
·
2018-11-11 22:00
2018-2019-1 20189210 《
LInux内核原理
与分析》第五周作业
一、系统调用实验1、库函数将系统调用封装起来,大多数程序员使用库函数进行系统调用。2、Linux操作系统的体系架构分为用户态和内核态。CPU的执行级别对应的就是内核态,所有指令都可以执行。用户态对应的就是低级别指令。3、系统调用也是一种中断,中断处理是从用户态进入内核态的主要方式,系统调用是一种特殊的中断。4、库函数就是操作系统提供的API(应用程序编程接口),API只是函数定义。系统调用是通过软
20189210牟健
·
2018-11-11 18:00
2018-2019-1 20189203《
Linux内核原理
与分析》第五周作业
第一部分课本学习用户态、内核态和中断1.内核态:处于高的执行级别下,代码可以执行特权指令,访问任意的物理地址,这时的CPU就对应内核态,对所有的指令包括特权指令都可以执行。2.用户态:处于低的执行级别下,代码只能在级别允许的特定范围内活动。在日常操作下,执行系统调用的方式是通过库函数,库函数封装系统调用,为用户提供接口以便直接使用。-3.Intelx86CPU有4种不同的执行级别0、1、2、3,L
20189203梓航
·
2018-11-11 15:00
2018-2019-1 20189219《
Linux内核原理
与分析》第五周作业
以前学习计算机操作系统的时候也学习过系统调用的三层机制,但是当时都是纯理论学习,没有亲身实践,很多都理解的比较模糊,这里借助老师的方法使用内嵌汇编加深理解。系统调用要想理解系统调用的具体含义,我们需要先了解用户态、内核态和中断三个概念。简单的来说:在用户态下,我们可以运行用户态进程,而在内核态下,我们不仅仅可以运行用户态下的进程,还可以运行更高级别的内核态进程。如果在用户态下我们需要使用内核态下的
archemiya
·
2018-11-10 23:00
《
Linux内核原理
与设计》第五周作业
使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用方法一:使用库函数API在屏幕上显示进程的ID先在实验楼中打开XFCE,在目录下输入指令:vigetpid.c;新建并打开getpid.c文件。随后再在VI中输入在网上查阅的实现getpid的函数代码后,保存并退出。随后再同gcc将该函数代码进行编译。再通过输入指令./getpid即可得出目前进程的ID为:22056.这种方式是用C语
20189223
·
2018-11-10 16:00
2018-2019-1 20189213《
Linux内核原理
与分析》第五周作业
第四章:系统调用的三层机制(上)系统调用的"三层皮"分别指的是:用户态函数(API)、system_call(中断服务程序入口)以及sys_xyz()系统调用处理函数封装例程。它们各自的作用如下:API第一层是指Libc中定义的API,这些API封装了系统调用,使用int0x80触发一个系统调用中断;当然,并非所有的API都使用了系统调用,如完成数学加减运算的API就没有使用系统调用;也有可能某个
20189213桂方平
·
2018-11-08 12:00
2018-2019-1 20189210 《
LInux内核原理
与分析》第四周作业
第三章这一章接触内核源代码,对内核源码进行编译和调试跟踪一、预备知识:内核:整个操作系统的最底层,它负责了整个硬件的驱动以及提供各种系统所需的内核功能。内核实质上是系统上面的一个文件而已,这个文件包含了驱动主机各项硬件的检测程序与驱动模块。当系统读完BIOS并加载MBR内的引导装载程序后,就能够加载内核到内存当中。然后内核开始检测硬件,挂载根目录并取得内核模块来驱动所有的硬件,之后调用/sbin/
20189210牟健
·
2018-11-04 23:00
2018-2019-1 20189204《
Linux内核原理
与分析》第四周作业
《庖丁解牛》第3章——MenuOS的构造3.1Linux内核源代码简介计算机三大法宝:存储程序计算机、系统调用堆栈、中断操作系统两把宝剑:中断切换上下文、进程切换上下文Linux内核源码的目录结构其中,arch目录是与体系结构相关的子目录列表,里面存放了许多CPU体系结构的相关代码,使得Linux内核可以支持不同的CPU和体系结构(指令集)。我们重点关注x86目录init目录存放内核启动时的初始化
20189204张博文
·
2018-11-04 17:00
2018-2019-1 20189213《
Linux内核原理
与分析》第四周作业
《
Linux内核原理
与分析》第四周学习总结:1.课本知识总结:本章内容并不多,首先是介绍了一些Linux内核源代码的目录结构,并基于Linux内核源代码构造一个简单的操作系统MenuOS,同时在MenuOS
20189213桂方平
·
2018-11-02 14:00
《
Linux内核原理
与分析》第四次作业
跟踪分析Linux内核的启动过程使用实验楼的虚拟机打开shell使用gdb跟踪调试内核使用qemuqemu-kernellinux-3.18.6/arch/x86/boot/baImage-initrdrootfs.img参数:—s:在初始化时冻结CPU—S:为gdb分配1234端口gdb调试另开一个shell窗口—gdb—(gdb)filelinux-3.18.6/vmlinux#在gdb界面中
20189223
·
2018-11-01 21:00
2018-2019-1 20189203《
Linux内核原理
与分析》第四周作业
第一部分课本学习内核版本号:Linux内核自2013年12月起,就以A.B.C.D的方式命名。A和B变得无关紧要,C是内核的真实版本。每一个版本的变化都会带来新的特性,如内部API的变化等,改动的代码数量常常上万行。D是安全补丁和bug修复。几个关键的目录:Arch:与体系结构相关的子目录列表。Block:存放Linux存储体系中关于块设备管理的代码。Crypto:存放常见的加密算法的C语言代码。
20189203梓航
·
2018-11-01 20:00
2018-2019-1 20189219《
Linux内核原理
与分析》第四周作业
环境搭建本次内核环境搭建过程比较复杂,但是书中都给出了详细步骤,按照步骤一步步来就没问题了。附上正常运行的内核:生成的目录格式如下:.├──arch├──block├──COPYING├──CREDITS├──crypto├──Documentation├──drivers├──firmware├──fs├──include├──init├──ipc├──Kbuild├──Kconfig├──ke
archemiya
·
2018-10-31 23:00
2018-2019-1 20189219《
Linux内核原理
与分析》第三周作业
说实话,老师的书写的确实是不错的,对于基础薄弱的我来说很是适用,基本不需要什么操作系统和内核的知识,也能够把书上的知识掌握。当然,边看边动手这个是不能少的。下面回归正题。函数调用堆栈在上一章的学习中我们了解了在调用函数的时候讲使用到堆栈进行临时的地址存储,这里我们将进一步详细分析函数调用堆栈。简单来说,堆栈在C语言程序运行时的具体作用分为2种:1.记录函数条用框架和路径2.提供参数与变量的存储空间
archemiya
·
2018-10-28 22:00
2018-2019-1 20189210 《
Linux内核原理
与分析》第三周作业
一、学习笔记计算机的“三大法宝”1、程序存储计算机。2、函数调用对栈。堆栈的作用是:记录函数调用框架、传递函数参数、保存返回值地址、提供函数内部局部变量的存储空间。函数调用堆栈就是由多个逻辑上的栈堆叠起来的框架。3、中断机制。当一个中断信号发生时,CPU把当时正在执行的程序地CS:EIP寄存器和ESP寄存器等都压到了一个叫做内核堆栈的地方,然后把CS:EIP指向一个中断处理程序的入口,做保存现场的
20189210牟健
·
2018-10-28 22:00
2018-2019-1 20189204《
Linux内核原理
与分析》第三周作业
OS是如何工作的学习任务:阅读学习教材「庖丁解牛Linux」第2章学习蓝墨云班课中第三周视频「操作系统是如何工作的?」,并完成实验楼上配套实验二。云班课学习笔记:计算机三大法宝程序存储计算机即冯诺依曼体系结构函数调用堆栈高级语言可以运行的起点就是函数调用堆栈中断机制深入理解函数调用堆栈堆栈的功能记录函数调用的框架传递函数参数保存返回值地址提供函数内部局部变量的存储空间堆栈相关的寄存器ESP:堆栈栈
20189204张博文
·
2018-10-28 21:00
2018-2019-1 20189213 《
Linux内核原理
与分析》第三周作业
《
Linux内核原理
与分析》第三周学习总结无论是视频资源还是《庖丁解牛Linux》第2章,主要讲述的都是操作系统是如何工作的,并介绍了如何在mykernel基础上构造一个简单的操作系统内核。
20189213桂方平
·
2018-10-28 11:00
2018-2019-1 20189203《
Linux内核原理
与分析》第三周作业
一、课程学习计算机的三个法宝:存储程序计算机、函数调用堆栈、中断。堆栈相关的寄存器:ESP(堆栈指针)、EBP(基址指针)。堆栈操作:push:栈顶地址减少4个字节,并将操作数放入栈顶存储单元。Pop:栈顶地址增加4个字节,并将栈顶存储单元的内容放入操作数。对于X86体系结构来说,栈是从高地址向低地址增加的。其他关键寄存器:CS:EIP总是指向下一条的指令地址,这里用到了CS寄存器,也就是代码寄存
20189203梓航
·
2018-10-24 22:00
2018-2019-1 20189219《
Linux内核原理
与分析》第二周作业
一、Linux内核分析通过学习蓝墨云班课上的视频对汇编有了初步的了解通用寄存器EAX:累加器EBX:基地址寄存器ECX:计数寄存器EDX:数据寄存器EBP:堆栈基址针ESI、EDI:变址寄存器ESP:堆栈顶指针段寄存器CS:代码段寄存器。DS:数据段寄存器。ES:附加段寄存器。SS:堆栈段寄存器。FS:附加段寄存器。GS:附加段寄存器。mov指令及寻址方式其中l指32位,b指8位,w指16位,q指
archemiya
·
2018-10-21 21:00
#2018-2019-1 20189213《
Linux内核原理
与分析》第二周作业
Linux第二周学习报告在这一周里学习了庖丁解牛Linux内核分析第一章《计算机是如何工作的》:这一章主要介绍了存储程序计算机的结构以及关于汇编的基础知识。从硬件角度讲,存储程序计算机包括输入、输出、存储、计算和控制五部分。从程序员的角度,一个程序的执行过程就是CPU不断从内存中获取指令并执行的过程。从汇编语言的角度可以比较清晰的看出计算机是如何执行程序的,当然,由于编译器以及平台的不同,使用高级
20189213桂方平
·
2018-10-21 14:00
20189210牟健 《
Linux内核原理
与分析》第二周作业
本周学习了汇编指令以及通过反汇编一个小程序来了解栈的变化写了一个简单的C程序,如图所示:通过gcc-s-omain.smain.c-m32指令将其编译成汇编程序打开该汇编文件并删除不重要的信息,如图所示:分析该汇编指令(为了方便直接用手写画图,为了区分不同时期的寄存器,将其后面加了个括号,括号里的数字表示该寄存器的第几种状态)如图所示:首先执行main函数pushl%ebp:将esp的值减4(指向
20189210牟健
·
2018-10-21 12:00
2018-2019-1 20189203《
Linux内核原理
与分析》第二周作业
一、本周学习情况我本周结合《庖丁解牛》教材学习了蓝墨云的视频课,主要学习内容如下:1、学习了计算机的工作原理,深入理解了冯诺依曼体系结构。2、学习了X86-32CPU的寄存器3、学习了寻址方式和常用汇编指令-立即数即常数,如$8,表示$开头后跟一个数值;-寄存器数,表示某个寄存器中保存的值,如%exa-movL表示32位指令-通用寄存器:-EAX:累加器-EBX:基地址寄存器-ECX:计数寄存器-
20189203梓航
·
2018-10-19 08:00
2018-2019-1 20189204《
Linux内核原理
与分析》第一周作业
20189204《
Linux内核原理
与分析》第一次作业虽然之前在本科上过Linux课程,但是在本周的Linux初级学习阶段,依然遇到了很多问题一.学习环境的搭建中的问题1.VMwareworkstation
20189204张博文
·
2018-10-14 21:00
20189203《
Linux内核原理
与分析》第一周作业
实验一Linux系统简介我在这一课中主要学习了Linux是什么,Linux的产生和发展历史,Linux发展中的重要人物以及Linux和Windows在是否收费、软件与支持、安全性等方面存在的一些区别,对Linux有了一个初步的认识。课程最后介绍了Linux的学习方法,里边有一张图片介绍了Linux的学习路径,我作为Linux的初学者,目前应该做到的是学习计算机概论和硬件相关知识,并学习安装Linu
20189203梓航
·
2018-10-14 16:00
《
Linux内核原理
与分析》第一周作业 20189210
实验一Linux系统简介这一节主要学习了Linux的历史,Linux有关的重要人物以及学习Linux的方法,Linux和Windows的区别。其中学到了LInux中的应用程序大都为开源自由的软件,用户可以修改定制再发布;内核是实现多任务运行和硬件管理的基础;在我们使用应用程序时,在背后支持软件服务的是成千上万个Linux服务器主机。实验二Linux基础概念及操作这一节首先学习了实验楼环境、终端的概
20189210牟健
·
2018-10-14 12:00
上一页
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
其他