2017-2018-1 Linux内核原理与分析 (北京电子科技学院)

  • 20179223《Linux内核原理与分析》第八周学习笔记

    视频学习 可执行文件是怎么得来的? .c汇编成汇编代码.asm,然后再汇编成目标码.o。然后在连接成可执行文件,然后加载到内存可执行了。 对hello.c文件预处理(cpp),预处理负责把include的文件包含进来及宏替换等工作。 把hello.cpp编译成汇编代码hello.s 再把编译代码he
    20179223刘霄   2017-11-19 20:16   0   218
  • 2017-2018-1 20179226《Linux内核原理与分析》第八周作业

    实验 可执行程序的装载 可执行程序的产生过程分为四步,首先是预处理,编译成汇编代码,再汇编成目标码再链接可执行文件。过程如下图所示: 以hello world的.c文件为例进行分析,c语言代码如下: 编译步骤如下: 程序的执行结果如下: 静态&动态链接 1.链接,是收集和组织程序所需的不同代码和数据
    20179226任逸飞   2017-11-19 16:28   0   247
  • 2017-2018-1 20179205《Linux内核原理与设计》第八周作业

    《Linux内核原理与设计》第八周作业 视频学习及操作分析 预处理、编译、链接和目标文件的格式 可执行程序是怎么来的? 以C语言为例,经过编译器预处理、编译成汇编代码、汇编器编译成目标代码,然后链接成可执行文件,再将可执行程序加载到内存中执行,过程可以通过下图展示(其中预处理已省略): 可执行文件的
    20179205王雅哲   2017-11-19 16:04   0   190
  • 2017-2018-1 20179215《Linux内核原理与分析》第八周作业

    实验:ELF文件格式与程序的编译链接 一、可执行文件的创建  从源代码到可执行程序所要经历的过程概述:  源代码(.c .cpp .h)经过c预处理器(cpp)后生成.i文件,编译器(cc1、cc1plus)编译.i文件后生成.s文件,汇编器(as)汇编.s文件后生成.o文件,链
    20179215袁琳   2017-11-19 10:25   0   218
  • 2017-2018-1 20179202《Linux内核原理与分析》第八周作业

    一 、可执行程序的装载 1. 预处理、编译、链接 用 静态编译出来的hello.static把C库里需要的东西也放到可执行文件里了。用命令 ,可以看到hello只有7K,hello.static有大概700K。 2. ELF文件 ELF(Excutable and Linking Format)是一
    20179202杨晓桐   2017-11-18 22:15   4   459
  • 2017-2018-1 20179203 《Linux内核原理与分析》第八周作业

    攥写人:李鹏举 学号:20179203 ( 原创作品转载请注明出处 ) ( 学习课程:《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC 1000029000 ) 一、实验要求: 1.理解编译链接的过程和ELF可执行文件格式,详细内容参考本周
    20179203李鹏举   2017-11-18 19:22   0   200
  • 2017-2018-1 20179209《Linux内核原理与分析》第八周作业

    Linux内核如何装载和启动一个可执行程 ========================================= 一.实验 1.1理解编译链接的过程和ELF可执行文件格式。 1.1.1编译链接过程 能用图说明的问题,就少用文字描述: 1.1.2ELF可执行文件 ELF可执行文件中有三种主
    20179209-杨森   2017-11-18 10:09   0   332
  • 2017-2018-1 20179209《Linux内核原理与分析》第七周作业

    一.实验 1.1task_struct数据结构 Linux内核通过一个被称为进程描述符的task_struct结构体来管理进程,这个结构体包含了一个进程所需的所有信息。它定义在linux 3.18.6/include/linux/sched.h文件中。 这个结构体定义非常庞大,目测有300多行代码,
    20179209-杨森   2017-11-12 22:00   1   238
  • 20179223《Linux内核原理与分析》第七周学习笔记

    视频知识学习 1.fork()函数被调用一次,但返回两次; 2.Linux通过复制父进程来创建一个子进程,通过调用fork来实现; 3.Linux会为每个子进程动态的分配一个task_struct结构。 创建一个新进程在内核中的执行过程 fork、vfork和clone三个系统调用都可以创建一个新进
    20179223刘霄   2017-11-12 20:28   1   158
  • 2017-2018-1 20179215《Linux内核原理与分析》第七周作业

    一、实验部分:分析Linux内核创建一个新进程的过程。 【第一部分】 根据要求完成第一部分,步骤如下: 1. 首先进入虚拟机,打开终端,这命令行依次敲入以下命令: cd LinuxKernel rm menu rf //强制删除 git clone https://github.com/mengni
    20179215袁琳   2017-11-12 19:54   0   203