Linux内核分析 期末总结

一、知识概要

1. 计算机是如何工作的

  • 存储程序计算机工作模型:冯诺依曼体系结构
  • X86汇编基础
  • 会变一个简单的C程序分析其汇编指令执行过程

2. 操作系统是如何工作的

  • 函数调用堆栈
  • 模拟存储程序计算机工作模型和时钟中断
  • 在mykernel基础构建一个简单的操作系统

3.构造一个简单的Linux系统

  • Linux内核源代码
  • 构造一个简单的Linux系统
  • 跟踪调试Linux内核的启动过程

4. 系统调用

  • 用户态、内核态和中断
  • 系统调用概述
  • 使用库函数API和C代码中嵌入汇编代码触发同一个系统调用
  • 给MenuOS增加time和time-asm命令
  • 用gdb跟踪系统调用内核函数sys_time
  • 系统调用在内核代码中的处理过程

5. 进程的描述和进程的创建

  • 进程的描述
  • 进程的创建

6. 可执行程序的装载

  • 预处理、编译、链接和目标 文件的格式
  • 可执行程序、共享库和动态链接
  • 可执行程序的装载

7. 进程的切换和系统的一般执行过程

  • 进程切换的关键代码switch_to的分析
  • Linux系统的一般执行过程
  • Linux系统架构和执行过程概览

二、每周总结和实验

总结:

这次mooc的学习时间不长,但是却涵盖了许多内容,加上每周的实验,博客总结,读书笔记,总体来说是相当的充实。在对Linux内核的学习中,我对Linux系统又有了新的认识,也产生了许多问题。正因如此,我才发现linux真的不是很容易学,它的整个运作机制几乎包含了我们目前所学的有关计算机的所有原理,如果要真正融会贯通可能真的不是这几次网课和课堂上的一本书能够解决的。还需要我们更加深入的理解和学习它,最重要的还是一颗好学的心。在学习中我最大的收获就是能自主的的学习,最大的遗憾也是没有能达到自己想要的结果,过程是美好的,结果是残酷的,也许这也是一种收获吧!

Linux内核分析 期末总结的更多相关文章

  1. LINUX内核分析期末总结

    韩玉琪 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.课程总结 1 ...

  2. Linux内核分析——期末总结

    Linux内核学习总结 首先非常感谢网易云课堂这个平台,让我能够在课下学习,课上加强,体会翻转课堂的乐趣.孟宁老师的课程循序渐进,虽然偶尔我学习地不是很透彻,但能够在后续的课程中进一步巩固学习,更加深 ...

  3. 网易云课堂-----Linux内核分析-----期末主观题

    姚歌 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 下面是对8个课题的 ...

  4. 《Linux内核分析》期末总结

    Linux内核设计期中总结 版权声明:本文为博主原创文章,未经博主允许不得转载. 前八周博客汇总及总结 Linux内核设计第一周——从汇编语言出发理解计算机工作原理 我们学习了汇编语言的基础知识,这一 ...

  5. 期末总结:LINUX内核分析与设计期末总结

    朱国庆原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一,心得体会 关于网上听课这 ...

  6. 《Linux内核分析》期末总结及学习心得

    [洪韶武 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ] 一.学习心得 本学 ...

  7. 期末总结20135320赵瀚青LINUX内核分析与设计期末总结

    赵瀚青原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 对LINUX内核分析与设计这 ...

  8. linux内核分析作业8:理解进程调度时机跟踪分析进程调度与进程切换的过程

    1. 实验目的 选择一个系统调用(13号系统调用time除外),系统调用列表,使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 分析汇编代码调用系统调用的工作过程,特别是参数的传递的方 ...

  9. Linux内核分析作业7:Linux内核如何装载和启动一个可执行程序

            1.可执行文件的格式 在 Linux 平台下主要有以下三种可执行文件格式: 1.a.out(assembler and link editor output 汇编器和链接编辑器的输出) ...

随机推荐

  1. Linux初学 - Centos7忘记root密码的解决办法

    开机进入启动界面后,要按照屏幕的下方的操作提示迅速按下“e”键. 按下“e”键后即来到启动文件界面,这时按键盘上面的方向键“下”,一直到文件底部,在"LANG=zh_cn.UTF-8&quo ...

  2. Linux结构目录

    linux结构目录 Linux中有一句话叫做:一切皆文件. 下面来了解一下这些文件. 首先看一下Linux根目录下结构: bin:存放二进制可执行文件,一般常用命令都存放在这里. boot:存放系统启 ...

  3. vue学习笔记1-基本知识

    1.npm 安装node.js的时候会一起安装npm包管理器,能够解决nodejs代码部署问题,常见使用如下: 允许用户从npm服务器下载别人编写的第三方包到本地应用允许用户从npm服务器下载并安装别 ...

  4. Python3编写网络爬虫04-爬取猫眼电影排行实例

    利用requests库和正则表达式 抓取猫眼电影TOP100 (requests比urllib使用更方便,由于没有学习HTML系统解析库 选用re) 1.目标 抓取电影名称 时间 评分 图片等 url ...

  5. LinkedList与ArrayList的区别

    我们都知道LinkedList和ArrayList相比: 1.LinkedList插入删除相对较快,而查询较慢: 2.ArrayList插入删除相对较慢,而查询很快(详细可查看从源码的角度分析List ...

  6. 转://批量更新sequence的存储

    前言: ORACLE的序列(SEQUENCE)A SCHEMA OBJECT THAT GENERATES A SERIAL LIST OF UNIQUE NUMBERS FOR TABLE COLU ...

  7. go标准库的学习-net/rpc/jsonrpc

    参考:https://studygolang.com/pkgdoc 导入方式: import "net/rpc/jsonrpc" jsonrpc包实现了JSON-RPC的Clien ...

  8. Java面试题复习之Java基础

    1.面向对象的特征主要有哪些?   封装.继承.多态.抽象 2.final.finally.finalize的区别? final主要用于修饰类.方法.属性(变量)等. 通常被final修饰的类不能够被 ...

  9. Kubernetes1.91(K8s)安装部署过程(八)-- kubernetes-dashboard安装

    kubernets-dashboard顾名思义是操作面板安装,也就是可视化管理机器,同意我们用镜像结合配置文件部署. 1.下载镜像: docker pull registry.docker-cn.co ...

  10. flask 路由和视图

    路由设置的俩种方式 @app.route('/xxx') def index(): return 'index' ------------------------------------------ ...