20135327郭皓--Linux内核分析第九周 期中总结
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系统架构和执行过程概览
二、每周总结和实验
- 第一周:计算机是如何工作的
- 第二周:操作系统是如何工作的
- 第三周:构造一个简单的Linux系统
- 第四周:扒开系统调用的三层皮(上)
- 第五周:扒开系统调用的三层皮(下)
- 第六周:进程的描述和进程的创建
- 第七周:可执行程序的装载
- 第八周:进程的切换和系统的一般执行过程
三、每周读书笔记
总结:
这次mooc的学习时间不长,但是却涵盖了许多内容,加上每周的实验,博客总结,读书笔记,总体来说是相当的充实。在对Linux内核的学习中,我对Linux系统又有了新的认识,也产生了许多问题。正因如此,我才发现linux真的不是很容易学,它的整个运作机制几乎包含了我们目前所学的有关计算机的所有原理,如果要真正融会贯通可能真的不是这几次网课和课堂上的一本书能够解决的。还需要我们更加深入的理解和学习它,最重要的还是一颗好学的心。
20135327郭皓--Linux内核分析第九周 期中总结的更多相关文章
- 20135327郭皓——Linux内核分析第二周 操作系统是如何工作的
操作系统是如何工作的 上章重点回顾: 计算机是如何工作的?(总结)——三个法宝 存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: 函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的 ...
- 20135327郭皓--Linux内核分析第七周 可执行程序的装载
第七周 可执行程序的装载 郭皓 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 ...
- 20135327郭皓--Linux内核分析第三周 构造一个简单的Linux系统MenuOS
Linux内核分析第三周 构造一个简单的Linux系统MenuOS 前提回顾 1.计算机是如何工作的三个法宝 1.存储程序计算机 2.函数调用堆栈 3.中断 2.操作系统的两把宝剑 中断上下文的切换 ...
- 20135327郭皓--Linux内核分析第五周 扒开系统调用的三层皮(下)
Linux内核分析第五周 扒开系统调用的三层皮(下) 郭皓 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/U ...
- 20135327郭皓--Linux内核分析第四周 扒开系统调用的三层皮(上)
Linux内核分析第四周 扒开系统调用的三层皮(上) 郭皓 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/U ...
- 20135327郭皓--Linux内核分析第八周 进程的切换和系统的一般执行过程
第八周 进程的切换和系统的一般执行过程 一.进程切换的关键代码switch_to分析 1.进程调度与进程调度的时机分析 不同类型的进程有不同的调度需求 第一种分类: I/O-bound:频繁进行I/O ...
- 20135327郭皓--Linux内核分析第六周 进程的描述和进程的创建
进程的描述和进程的创建 一.进程的描述 操作系统三大功能: 进程管理 内存管理 文件系统 进程描述符task_struct数据结构 task _ struct:为了管理进程,内核必须对每个进程进行清晰 ...
- linux内核分析第二周
网易云课堂linux内核分析第二周 20135103 王海宁 <Linux内核分析>MOOC课程http://mooc.study.163.com/cours ...
- LINUX内核分析第一周学习总结——计算机是如何工作的
LINUX内核分析第一周学习总结——计算机是如何工作的 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course/ ...
随机推荐
- ccf--20160403---路径解析
本题思路如下: 具体的细节如下:首先去掉字符串中重复出现的/,然后遇到..,就删除栈的最后一个元素,.忽略 下面是代码和题目: 问题描述 试题编号: 201604-3 试题名称: 路径解析 时间限制: ...
- Lua 与C 交互之LUA_REGISTRYINDEX(3)
通常来说,C函数需要保留一些非局部的数据,也就是指那些超过他们作用范围的数据.C语言中我们使用全局变量或者static变量来满足这种需要.然而当你为Lua设计一个程序库的时候,全局变量和static变 ...
- python基础 - 变量与运算符
变量与运算符 变量 定义一个变量 a = [1,2,3,4,5,6] print(a) # [1,2,3,4,5,6] 变量命名要求: 首字母不能是数字 只能包含字符数字下划线 不能是关键字 type ...
- Android 用webService产生java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive错误的解决(转)
在做android Webservice开发的时候一般情况下大家接受webservice服务器返回值的时候都是使用 SoapObject soapObject = (SoapObject) enve ...
- i.s.h.med Enhancement for cancelling an appointment
This article intends to introduce my experience about enhancement for canceling an appointment. I tr ...
- Spring容器技术内幕之BeanDefinition类介绍
引言 org.springframework.beans.factory.config.BeanDefinition是配置文件< bean >元素标签在容器中地内部表示.< bean ...
- 【转】vue项目打包部署——nginx代理访问
我又来了,今天部署了下vue项目,使用nginx做了代理,这样可以解决跨域的问题,这里做一个简单讲解. 1.先看vue项目打包(我这里使用的是vscode开发工具) 这里是我的项目结构: 打包之前需要 ...
- pandas中DataFrame对象to_csv()方法中的encoding参数
当使用pd.read_csv()方法读取csv格式文件的时候,常常会因为csv文件中带有中文字符而产生字符编码错误,造成读取文件错误,在这个时候,我们可以尝试将pd.read_csv()函数的enco ...
- Android事件处理第一节(View对Touch事件的处理)
http://ipjmc.iteye.com/blog/1694146 在Android里Touch是很常用的事件,尤其实在自定义控件中,要实现一些动态的效果,往往要对Touch进行处理.Androi ...
- 添加xmlns:android="http://schemas.android.com/apk/res/android"的意思
http://www.cnblogs.com/lovely/archive/2013/01/17/2865192.html xmlns:android="http://schemas.and ...