每周做业连接汇总
第0周做业
简要内容:
二维码

第1周做业
简要内容:
- Linux操做系统概述
- 核心的Linux命令:find/locate/cheat/grep/which/whereis
- 使用Linux中用户管理命令/系统相关命令/文件目录相关命令/打包压缩相关命令/比较合并相关命令/网络相关命令等
二维码

第2周做业
简要内容:
- Linux系统下的开发环境
- vi的基本操做
- gcc编译器的基本原理
- 使用gcc编译器的经常使用选项
- 使用gdb调试技术
- makefile基本原理及语法规范
- 静态库和动态库的生成与调用方法
- C程序中模块的概仿,模块分解的“高内聚,低耦合”的原则
- 连接的概念
二维码

第3周做业
简要内容:
- 二进制在计算机中的重要地位
- 布尔运算在C语言中的应用
- 有符号整数、无符号整数、浮点数的表示
- 补码
- 如何C避免语言中溢出,数据类型转换中的陷阱和可能会致使的漏洞
- 理解“信息=位+上下文”
二维码

第5周做业
简要内容:
- 程序的机器级表示
- 算术和逻辑操做
- 汇编语言中的控制指令
- GDB调试器
二维码:

第6周做业
简要内容:
- ISA抽象的做用
- ISA,并能触类旁通学习其余体系结构
- 流水线和实现方式
二维码

第7周做业
简要内容:
- 常见的存储技术(RAM、ROM、磁盘、固态硬盘等)
- 局部性原理
- 缓存思想
- 局部性原理和缓存思想在存储层次结构中的应用
- 高速缓存的原理和应用
二维码

第8周做业
简要内容:
二维码

第9周做业
简要内容:
- 系统编程和系统调用的概念
- 系统编程错误处理的方式
- Unix/Linux系统级I/O:open close read write seek stat
- RIO
- I/O重定向的方法
二维码

第10周做业
简要内容:
- 掌握系统编程和系统调用的概念
- 掌握系统编程错误处理的方式
- 掌握Unix/Linux系统级I/O:open close read write seek stat
- 掌握RIO
- 掌握I/O重定向的方法
二维码

第11周做业
简要内容:
- 了解异常及其种类
- 理解进程和并发的概念
- 掌握进程建立和控制的系统调用及函数使用:fork,exec,wait,waitpid,exit,getpid,getppid,sleep,pause,setenv,unsetenv,
- 理解数组指针、指针数组、函数指针、指针函数的区别
- 理解信号机制:kill,alarm,signal,sigaction
- 掌握管道和I/O重定向:pipe, dup, dup2
二维码

第12周做业
简要内容:
二维码

第13周做业
简要内容:
- 掌握三种并发的方式:进程、线程、I/O多路复用
- 掌握线程控制及相关系统调用
- 掌握线程同步互斥及相关系统调用
二维码

第14周做业
简要内容:
- 理解虚拟存储器的概念和做用
- 理解地址翻译的概念
- 理解存储器映射
- 掌握动态存储器分配的方法
- 理解垃圾收集的概念
- 了解C语言中与存储器有关的错误
二维码

实验报告汇总连接

代码托管

- 提交历史:虚拟机进不去了。。。。。爆炸,修好以后补上。

- 代码总量:
勉强作到了,前几周的的学习,代码不多,因此对代码驱动的学习体会不多。到后面几周的学习,代码量忽然增长,感受有点措手不及,但结合书上的知识去分析代码,收获是巨大的。html
对于老师所给的代码,若是停留只是去运行一下的层面的话,收获就很浅,就算懂代码,只能说理解皮毛。只有经过本身加点代码,改点代码去理解书上的知识,这样的话才会作到所谓的“玩转代码”,我想老师想让咱们作到即是将代码玩得转,精通代码,活学活用吧。linux
实践这学期作了两个,一个是经过gdb了解调用函数过程栈的变化,另外一个是缓冲区溢出实践。我以为最大的教训是:必需要手动画一下栈,本身分析分析一下过程。我以为这一点很重要,由于经过gdb,你获得的是寄存器和存储的值,惟有本身动手画一下栈,并分析,才会将抽象的东西展示在你面前,这样就会很好理解。git
总体评价一下第0周做业中本身提出的问题是否是抓住了学习重点
抓住了大部的分析重点。web
回答一下第0周做业中本身提出的问题
- 什么是计算机系统漫游?
- 这个问题当时问的太没水平了,所谓计算机系统漫游,即是让初学者对计算机系统有个初步的了解。
- 信息如何表示如何处理?
- 什么是程序的机器级表示?
-
计算机系统使用了多种不一样形式的抽象,利用更简单的抽象模型来隐藏实现的细节。编程
对于机器级编程来讲,其中两种抽象尤其重要:数组
一、指令集体系结构(Instruction set architecture ISA)缓存
二、机器级程序使用的存储器地址是虚拟地址安全
提供的存储器模型看上去是一个很是大的字节数组。存储器系统的实际实现是将多个硬件存储器和操做系统软件组合起来。服务器
- 处理器体系结构包含哪些?
- Y86指令集体系结构
- 逻辑设计和硬件控制语言HCL
- 流水线
- 如何优化程序性能?
- 第五章的内容,本学习没有学习,也不懂这个问题如何回答。
- 存储器结构层次有哪些?
- 如何在系统上运行程序?
- 就拿一个.c文件来收,要让它运行,首先要进行预处理,而后编译,接着汇编,最后连接成可执行完文件,才能在系统上运行。
- 异常控制流是什么?
- 异常控制流:现代操做系统经过使控制流发生突变来对系统状态作出反应,这些突变称为异常控制流。
- 虚拟存储器是什么?
- 虚拟内存是计算机系统内存管理的一种技术。它使应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它一般是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在须要时进行数据交换。目前,大多数操做系统都使用了虚拟内存,如Windows家族的“虚拟内存”;Linux的“交换空间”等。
- 系统级I/O是什么?
- I/O (input/output) 实际上就是主存与外围设备的之间的数据拷贝。input就是将某个外围设备上的数据拷贝到主存,而output则是将主存上的数据拷贝到外围设备。 全部全部语言的运行时系统都提供了一个I/O处理工具。
- 网络编程要注意哪些?
-
- 我以为要注意套接字的建立以及一些函数的调用,还要明白web服务器是怎么一回事。
- 什么事并发编程?
- 所谓并发编程是指在一台处理器上“同时”处理多个任务。并发是在同一实体上的多个事件。多个事件在同一时刻发生。有基于进程的并发编程、基于I/O多路复用的并发编程、基于线程的并发编程。
- 你有什么项目被加分,谈谈你的经验
-
- 你有什么项目被扣分,谈谈你的教训
- 没有检查代码
- 教训:代码必定要及时去验收,越拖越糟糕,平时必定要积极主动去敲代码,认真进行代码驱动学习。
- 待及格管理制度的优缺点(进入过的同窗必写)
- 待及格期间多发的博客列表:在待及格区的时候,是我学习效率最好的时候,每周两篇博客,书上的知识消化的很好,我以为这个应该继续下去。
- 优缺点:优势:对于想摆脱及格区的同窗至关有用,有必定的强制力。缺点:对于待及格区的同窗应当给予一些鼓励,增长对于学习的兴趣。
- 建议:对于待及格区的同窗,若是表现好,应当充分给予一些鼓励。对从从待及格脱离的的我来讲,脱离以后,学习主动性比待及格区的时候明显有所降低,因此我以为对于脱离几个区的同窗,应该继续执行待及格区的管理办法,等到与及格区有必定分数差的时候,不在要求一周两篇博客和每周代码验收。也就是说只要进了及格区,要想在脱离出去,必须比及格区高出必定的分数才能脱离。这样的,不会出现,一出及格区就回到原来的状态。
- 课程收获与不足
- 本身的收获(投入,效率,效果等)
- 首先我以为最大的收获,即是对整个计算机系统的结构层次有了一个很是深入的认识。
- 对于计算机底层的东西,从开始略知一二,到如今实现gdb函数调用的栈分析以及缓冲区溢出,收获很大。
- 对于边学习,边写博客的这种学习方法,有了更生的理解,就像此次的总结做业同样,可以这种学习方法的好处。记录了本身的整个学习过程,反映出本身的学习状况。就像一面镜子,看到曾经的本身。
- 做为信息安全的学生来讲,对于从此的专业课学习,有了必定的基础。
- 本身须要改进的地方
- 就拿学习主动性来讲,我在这方面作的不够到位,每周老是在最后几天开始一周的学习任务,这点应该批评本身,之后的学习中必定要改正。
- 代码驱动学习作的不够好,对于有些代码理解的不是很透彻。
- 若是有结对,写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
- 我以为每周写一篇博客会致使一个严重的问题,你们都是周日那一天开始每周的学习任务,应该避免这种现象,我以为每轴博客应该增长。
- 给开学初的你和学弟学妹们的学习建议
- 若是从新学习这门课,怎么作才能够学的更好:
- 必定要好好把可能的看完,必定要先把书上的知识消化了,才能去作老师所给的实践以及代码。
- 学习应该是个天天积累的过程,不能由于周日是提交作的截止时间就在周日完任务似的把一周的学习任务应付了。我以为这点很重要。
- 问卷调查
- 你平均每周投入到本课程多长时间?
- 每周的学习效率有提升吗?
- 学习效果本身满意吗?
- 课程结束后会继续一周至少一篇博客吗?(若是能作到,毕业时我把你的博客给你集结成一本书送给你做记念)
- 你以为这门课老师应该继续作哪一件事情?
- 你以为这门课老师应该中止作哪一件事情?
- 你以为这门课老师应该开始作什么新的事情?
- 其余任意发挥
- 给出你的总结的连接和二维码
总结连接网络
二维码:
