cs144 lab0 lab1记录】的更多相关文章

这个叫什么?Write Up吗 lab0 lab0要做的事,实现buffer部分的功能,要自己写变量以及实现接口. 成员函数 write()向buffer内写数据,peek_out()  pop_out()  read()  函数从buffer内读数据, buffer长度capacity,需要变量记录向buffer内一共写入和读取过多长的数据. 有些变量在后面的lab会用上,第一次写真不容易想,好些都是参照别人的博客写的. lab1 // Construct a `StreamReassembl…
我们创建一个wpf应用程序,我们把里面的xaml文件全部删除,添加一个新类: 如下图: 然后我们cs文件中的代码: using System; using System.Collections.Generic; using System.Text; using System.Windows.Controls; using System.Windows; using System.Windows.Media; using System.Windows.Shapes; namespace 无xaml…
本文为我的斯坦福计算机网络课的编程实验(Lab Assignments)的学习总结.课程全称:CS 144: Introduction to Computer Networking. 事情发生于我读了半本<计算机网络:自顶向下方法>后,想要找点练手的东西,碰巧在知乎上看到了这个推荐帖:CS144: 什么,你学不会TCP?那就来自己写一个吧!.这门课的作业要求实现一个简单的TCP协议,自带充足评测程序,同时又比较有挑战性,我便欣然做之. LAB0 在我开始做实验的时候官方不知为何已经删掉了spo…
Lab1-4 分别是完成一个流重组器,TCP接收端,TCP发送端,TCP连接四个部分,将四个部分组合在一起就是一个完整的TCP端了.之后经过包装就可以进行TCP的接收和发送了. 代码全部在github上了. Lab1 流重组器 这一个实验是要实现一个流重组器,传入数据的片段以及起始位置,之后对其进行重组,并尽快将以及重组完成的数据输出. 这里我使用的是红黑树来实现,也就是C++的std::set来实现.将未重组完成的碎片保存在红黑树中,当新碎片到达时就尽可能地将该碎片与已有的碎片进行合并,保证红…
在Stanford CS144的课程实验Lab0~Lab4中,我们动手实现了一个自己的TCP协议,并且能够真的与互联网通信!此外,感谢Stanford开源本实验并提供了大量的优质测试用例,使得我们仅仅通过互联网就能获取到这么好的学习资源. 本篇博客将从我自己的角度出发简单介绍TCP协议,阐述实现的难点以及在实验过程中的收获. 什么是TCP? 正式的定义以及计网相关的基础知识请读者自行stfw,在此我只简单地从自己角度阐述. 从网络协议抽象层来看,TCP是一个传输层协议,用于实现不同主机上进程与进…
MIT6.828 lab1地址:http://pdos.csail.mit.edu/6.828/2014/labs/lab1/ 第一个练习,主要是让我们熟悉汇编,嗯,没什么好说的. Part 1: PC Bootstrap 首先,整个实验使用qemu这款模拟软件来,来对代码进行调试,相当于我们在qemu这个模拟的计算机平台上,运行自己的程序.可以再qemu这个软件上进行gdb的调试,比较方便. 首先看下整个内核在qemu上的模拟的结果: 整个内核现在能实现的就两个功能,一个kerninfo,显示…
这是 MIT 6.824 课程 lab1 的学习总结,记录我在学习过程中的收获和踩的坑. 我的实验环境是 windows 10,所以对lab的code 做了一些环境上的修改,如果你仅仅对code 感兴趣,请移步 : github/zouzhitao mapreduce overview 先大致看一下 mapreduce 到底是什么 我个人的简单理解是这样的: mapreduce 就是一种分布式处理用户特定任务的系统.它大概是这样处理的. 用户提供两个函数 mapFunc(k1,v1)-> lis…
lab1知识点汇总 还是有很多问题,但是我觉得我需要在查看更多资料后回来再理解,学这个也学了一周了,看了大量的资料...还是它们自己的80386手册和lab的指导手册觉得最准确,现在我就把这部分知识做一个汇总,也为之后的lab打下坚实的基础.80386真的难啊,比mips复杂多了..顿时觉得我们学的都是小菜.. 下面这些知识来源于: 实验指导书和答案 80386手册 mooc视频 8086程序设计指导这本书 网上的博客 lab1练习汇总 练习之所以被老师当做练习,一定有它重要的地方,所以我们先把…
JOS lab1 首先向MIT还有K&R致敬! 没有非常好的开源环境我不可能拿到这么好的东西. 向每个与我一起交流讨论的programmer致谢!没有道友一起死磕.我也可能会中途放弃. 跟丫死磕究竟.(事实上这个过程会学到非常多东西,非常好玩非常好玩,不要被panic吓到,等你都能定位panic,并修复触发panic的bug的时候.我相信大家debug的能力会上升一个水平,互勉-) ---------------------------------------------------------…
资源 ucore在线实验指导书 我的ucore实验代码 题目:实现函数调用堆栈跟踪函数 我们需要在lab1中完成kdebug.c中函数print_stackframe的实现,可以通过函数print_stackframe来跟踪函数调用堆栈中记录的返回地址.如果能够正确实现此函数,可在lab1中执行 "make qemu"后,在qemu模拟器中得到类似如下的输出: ebp:0x00007b28 eip:0x00100992 args:0x00010094 0x00010094 0x0000…
资源 ucore在线实验指导书 我的ucore实验代码 题目:使用qemu执行并调试lab1中的软件 为了熟悉使用qemu和gdb进行的调试工作,我们进行如下的小练习: 从CPU加电后执行的第一条指令开始,单步跟踪BIOS的执行. 在初始化位置0x7c00设置实地址断点,测试断点正常. 从0x7c00开始跟踪代码运行,将单步跟踪反汇编得到的代码与bootasm.S和bootblock.asm进行比较. 自己找一个bootloader或内核中的代码位置,设置断点并进行测试 解答 问题1:从CPU加…
<MIT 6.828 Lab1: Booting a PC>实验报告 本实验的网站链接见:Lab 1: Booting a PC. 实验内容 熟悉x86汇编语言.QEMU x86仿真器.PC开机引导流程 测试6.828 内核的启动加载器(boot loader) 研究6.828 内核的初始化模板(JOS) 实验题目 注意:部分Exercise的解答过程较长,因此专门新建一个文档来记录解答过程,而在本文中给出其链接. Exercise 1:阅读汇编语言资料 Exercise 1. Familia…
ucore Lab0 一些杂记 前一阵子开始做 MIT 6.828,做了两三个实验才发现清华的 ucore 貌似更友好一些,再加上前几个实验也与6.828 有所重叠,于是决定迁移阵地. 文章计划分两类,一类是代码的分析,另一类是实验的解答和比较. 1. 计算机执行第一条指令之前,分段状态是怎样的? 执行make debug, 然后考察 QEMU monitor 中 GDT 的值: GDT= 00000000 0000ffff 参考 GDTR 寄存器: 参考手册 2.4.1 节描述: On pow…
一.ucore操作系统介绍 操作系统作为一个基础系统软件,对下控制硬件(cpu.内存.磁盘网卡等外设),屏蔽了底层复杂多样的硬件差异:对上则提供封装良好的应用程序接口,简化应用程序开发者的使用难度.站在应用程序开发人员的角度来看,日常开发中常见的各种关于并发.I/O.程序通信的问题等都和操作系统相关,因此一定程度上了解底层的操作系统工作原理是有必要的. 另一方面,由于操作系统自身功能的复杂性,整体设计一般会有一个好的模块化架构:操作系统作为基础服务,对性能效率的要求也很高,底层会用到许多关于数据…
练习一 Makefile 1.1 OS镜像文件ucore.img 是如何一步步生成的? + cc kern/init/init.c + cc kern/libs/readline.c + cc kern/libs/stdio.c + cc kern/debug/kdebug.c + cc kern/debug/kmonitor.c + cc kern/debug/panic.c kern/debug/panic.c: In function '__panic': kern/debug/panic…
1.Intro github : https://github.com/CreatorsStack/CreatorDB lab1实现数据库基本的存储逻辑结构,具体包括:Tuple,TupleDesc,HeapPage,HeapFile,SeqScan, BufferPool等. Tuple和TupleDesc是数据库表的最基本元素了.Tuple就是一个若干个Field的,TupleDesc则是一个表的meta-data,包括每列的field name和type. HeapPage和HeapFil…
目录 一.实验目标概述 二.实验环境配置 1.安装编写java程序的IDE--IntelliJ IDEA 2.安装Git 3.安装Junit 4.GitHub Lab1仓库的URL地址 三.实验过程 1.Magic Squares (1)isLegalMagicSquare() (2)generateMagicSquare() (3)源代码 2.Turtle Graphics (1)Problem 1:Clone and import (2)Problem 3:Turtle graphics a…
在使用FIS3搭建项目的时候,遇到了一些问题,这里记录下. 这里是发布搭建代码: // 代码发布时 fis.media('qa') .match('*.{js,css,png}', { useHash: true }) // 添加指纹 .match('*.js', { optimizer: fis.plugin('uglify-js') }) // js压缩 .match('*.css', { optimizer: fis.plugin('clean-css') }) // css压缩 .mat…
午休完上班后,同事说测试站点访问接口出现400 Bad Request  Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上服务器进行测试查看,打开nginx与ugwsi日志与配置,发现后端服务日志记录正常,而测试站点的访问日志有7百多M(才运行两三天没几个访问,几M的话才是正常现象),在浏览器里直接访问后端服务接口也正常没有问题(我们的服务器软件架构是微服务架构,将很多模块分拆后分别部署,前端是一个纯HTML站点,通过…
好记性不如烂笔头,记录一下. 我是在淘宝买的拓实N87,Kali可以识别,还行. 操作系统:Kali 开始吧. 查看一下网卡的接口.命令如下 airmon-ng 可以看出接口名称是wlan0mon. 接下来开启无线网卡的监听模式,命令如下 airmon-ng start wlan0mon #接口名称是什么这里就写什么 already enabled for 这是因为我已经开启了,背景可看出. 查看周围的wifi网络,命令如下 airodump-ng wlan0mon 列出来之后就按Ctrl+C停…
2015 西雅图微软总部MVP峰会记录 今年决定参加微软MVP全球峰会,在出发之前本人就已经写这篇博客,希望将本次会议原汁原味奉献给大家 因为这次是本人第一次写会议记录,写得不好的地方希望各位园友见谅! 出发前 关于签证问题,微软会给决定参加峰会的朋友发送邀请函的,Visa Officer看到邀请函之后90%会给你通过的,所以不需要太担心 微软的邀请函 在出发前的最后一个星期是选择课程,因为峰会这几天时间是需要上课的 登录峰会的选课系统 因为我是SQL Server方向,所以基本都是SQL Se…
分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tablespaceinfo ( nameinfo ) , rowsinfo BIGINT , reserved ) , datainfo ) , index_size ) , unused ) ) ); DECLARE Info_cursor CURSOR FOR SELECT '[' + [name]…
首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. 项目背景 这是给某数据中心做的一个项目,项目难度之大令人发指,这个项目真正的让我感觉到了,商场如战场,而我只是其中的一个小兵,太多的战术,太多的高层之间的较量,太多的内幕了.具体这个项目的情况,我有空再写相关的博文出来. 这个项目是要求做环境监控,我们暂且把受监控的设备称为采集设备,采集设备的属性…
前面的话 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要.这么做出于一系列的原因:跟踪使用情况.安全性.计费.错误检测等等.本文将谥介绍日志记录 记录内容 大多数情况下,日志的记录出于两种原因:査找服务器或代理中存在的问题(比如,哪些请求失败了),或者是生成Web站点访问方式的统计信息.统计数据对市场营销.计费和容量规划(比如,决定是否需要增加服务器或带宽)都非常有用 可以把一个HTTP事务中所有的首部都记录下来,但对每天要处理数百万个事务的服务器和代理来说,这些数据的体积超大,很…
日志记录不仅对于我们开发的应用,还是对于ASP.NET Core框架功能都是一项非常重要的功能特性.我们知道ASP.NET Core使用的是一个极具扩展性的日志系统,该系统由Logger.LoggerFactory和LoggerProvider这三个核心对象组成.我们可以通过简单的配置实现对LoggerFactory的定制,以及对LoggerProvider添加. [ 本文已经同步到<ASP.NET Core框架揭秘>之中] 目录一. 配置LoggerFactory二.以当前请求作为日志范围三…
今天在部署python代码到预生产环境时,web站老是出现redis链接未初始化,无法连接到服务的提示,比对了一下开发环境与测试环境代码,完全一致,然后就是查看各种日志,排查了半天也没有查明是什么原因引起的. 没有办法的情况下,直接登录服务器,从uwsgi与nginx中卸载掉这个web服务,然后暴力的在命令操作符下输入python main.py,执行访问发现又正常了......狂吐血400CC...然后是各种怀疑uwsgi和nginx,查看配置与其他服务正常,排除完后只能回归到检查代码. 静下…
2015年12月28日23:19:54 更新koa应用.学习型网站和开发者工具等 coding伊始 开始认认真真的学习技术还是2015.10.21日开始的,记得很清楚,那天,是我在龙湖正式学习的第一天.还记得硕哥面我的样子,高高瘦瘦的,一双白色休闲鞋加牛仔裤,典型的程序员风格. “有什么爱好吗” “自学过ps,dreamweaver,自己搞过简单的网页,很简单的那种,喜欢摄影,所以才自学的ps,现在也就会些抠图啊什么的...” ns 这段对话之所以印象深刻是因为后来硕哥给我们说,有感兴趣的事物,…
官方资料: https://github.com/dotnet/core https://docs.microsoft.com/en-us/aspnet/core https://docs.microsoft.com/en-us/ef/core 相关文章:ASP.NET 5 RC1 升级 ASP.NET Core 1.0 RC2 记录 ASP.NET Core 1.0 更新比较快(可能后面更新就不大了),阅读注意时间节点,这篇博文主要记录用 ASP.NET Core 1.0 开发简单应用项目的一…
升级文档: Migrating from DNX to .NET Core Migrating from ASP.NET 5 RC1 to ASP.NET Core 1.0 RC2 Migrating your Entity Framework Code from RC1 to RC2 ASP.NET Core 1.0 RC2 发布:解读发布:.NET Core RC2 and .NET Core SDK Preview 1 之前,使用 ASP.NET 5 RC1 开发了一个项目,并且这个项目已…
这种配置方法,可以非常方便的操作虚拟机里的Linux系统,且让VMware在后台运行,因为有时候我直接在虚拟机里操作会稍微卡顿,或者切换速度不理想,使用该方法亲测本机效果确实ok,特此记录. SecureCRT介绍 SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件,同时还支持Telnet和rlogin协议,非常好用的SSH客户端.   配置SecureCRT连接虚拟机的Linux环境出现的问题 1.首先关闭…