Xv 6 Chapter 0 Operating system interfaces 操作系统的工作是分享电脑资源给多个程序,并且提供一系列服务而不是只让硬件提供。 操作系统通过接口给用户程序提供服务,所以设计一个好的接口就显得很重要。 这里操作系统xv6提供基础的接口,由Ken Thompson 和Dennis Ritchie的操作系统介绍,同时还有模仿Unix的内部设计。 每一个运行的程序叫做进程,他们都有自己的空间,其中包括指令,数据和栈。指令实现了程序的计算功能,数据是那些计算中的变量。而栈则决定了程序的运行。 当一个进程需要请求内核指令的时候,他会在操作系统的接口中请求一个程序。这样的程序叫做系统调用。系统调用进入到内核,内核就提供服务并且返回。因此一个进程在用户内存和内核内存中互相切换。 内核使用CPU的硬件保护机制来保证每个进程在用户内存中运行并只能访问自己的空间。内核运行的时候利用硬件提供的特权来实现这些保护,同时用户程序没有这些优先权。当一个用户程序请求系统调 继续阅读 >>


陈苏扬 18/08/28 15:50:27
MIT 6.828 在网上一直有很高的地位,但是由于上手难度太难,而且是MIT研究生的课程,让大家都望而却步. 但是如果想要深入透彻的了解计算机系统的架构和设计,这门课又是有很大帮助. 作为一个计算机学生,一个热爱学习,热爱技术的学生,我还是决定要去试试水. 后面将会慢慢讲解我遇到的所有问题和解决办法。如果有任何错误或者建议都可以和我交流。这里贴下我的邮箱 hellochen19970916@gmail.com (90后哦 haha) 本机环境 虚拟机VMware Fusion Ubuntu 16.04.4 参考资料 MIT 6.282 lab1 本人GItHub地址 课程描述 MIT 6.828 fall2017 本篇博客主要讲解本人在环境配置遇到的问题的解决的方法.(初学MIT 6.828课程,如果有错误欢迎指出) 首先 Software Setup You must use an x86 Athena machine; that is, uname -a shoul 继续阅读 >>


陈苏扬 18/08/12 05:01:14
ACM题集以及各种总结大全!        虽然退役了,但是整理一下,供小弟小妹们以后切题方便一些,但由于近来考试太多,顾退役总结延迟一段时间再写!先写一下各种分类和题集,欢迎各位大牛路过指正。        一.ACM入门        关于ACM    百度百科连接        杭州电子科技大学(hdu)ACM题目    连接        关于acm的帮助     连接        北京大学(poj)题目      连接  & 继续阅读 >>


陈苏扬 18/08/05 01:47:59
HDU题目2005具体详情 *ACM水题就要尝试多用其他方法解决. 尝试不一样的解题技巧,总有一天会用得上* 题目 给定一个日期,输出这个日期是该年的第几天。 Input 输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。 Output 对于每组输入数据,输出一行,表示该日期是该年的第几天。 Sample Input 1985/1/20 2006/3/12 Sample Output 20 71 如下是代码的实现 #include<iostream> #include<string> #include<regex> #include<cstdlib> int main () { using namespace std; string a; const int month[12] = {31,28,31,30 继续阅读 >>


陈苏扬 18/08/01 10:31:44
GDB调试是每个CS学习者都一定要会的技术,同时也是了解程序的一个很好的工具 但是今天在使用Mac Book的时候出现了这个问题 上网查了一下,才发现不仅是我很多人都这样情况。 下面就记录下怎么解决 参考这里 首先在 Finder 然后查找Keychain Access.app 之后根据上面文档指示创建自己的证书,这里要注意下,我当时创见证书的名字和文档的不一样也创建失败,所以我建议包括名字也要和文档中一样lldb_codesign. 然后关机重启在terminal输入下面的命令 codesign -s lldb_codesign /usr/local/bin/gdb 作者:helloworld19970916 发表于 2018/07/27 08:33:29 原文链接 https://blog.csdn.net/helloworld19970916/article/details/8 继续阅读 >>


陈苏扬 18/07/27 08:33:29
首先这是我在Git上传我电子书的时候出现的问题。 BTW, 推荐一下电子书放在GitHub很方便 remote: hooks/pre-receive.rb:47:in `’ remote: warning: YOUR-BIG-FILE is 53.66 MB; this is larger than GitHub’s recommended maximum file size of 50.00 MB remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com. remote: error: Trace: 38bb16b8e8e0162f34fdc8517439dab5 remote: error: See http://git.io/iEPt8g for more information. re 继续阅读 >>


陈苏扬 18/07/19 12:23:54
在阿里云上源码配置Apache,还是遇到很多问题。不过还好都是解决了,所以想写一篇博客来帮助大家配置Apache. 阿里云服务器配置 Centos 6.8 首先来看看阿里云官方配置Apache教程 这看起来很简单 但是其实有很多坑 首先先按官网的下载和解压Apache的源码包 这是我遇到的其中几个问题 checking for APR… no configure: error: APR not found. Please read the documentation. checking for APR-util… no configure: error: APR-util not found. Please read the documentation. configure: error: APR-util not found. Please read the documentation. checking for pcre-config… false configure 继续阅读 >>


陈苏扬 18/07/16 08:24:54
install ZSH To install the very mystery and legendary “ZSH” , the first thing u have to do is install the same legendary “homebrew” management. If u use the MacBook Pro just like what I used , I strongly recommend install the item2 first.Just go to the website of Item2 download and install (that’s pretty easy) easy_install homebrew okay , done.(pretty easy right?) Now, we can install the “ZSH” sh -c "$(curl -fsSL https://raw.github.com/robbyrussel 继续阅读 >>


陈苏扬 18/06/20 15:26:12
数据链路层属于计算机网络的底层。数据链路层使用的信道主要有以下两种类型: 1.点对点信道 这种信道使用一对一的点对点通信方式。 2.广播信道 这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。 使用点对点信道的数据链路层 1.数据链路和帧 所谓链路就是从一个结点到相邻结点的一段物理线段,而中间没有任何其他的交换结点。在进行数据通信时,两个计算机之间的通信路径往往要经过许多段这样的链路。可见链路只是一条路径的组成部分。 数据链路则是另一个概念。这是因为当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须要有一些必要的通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。 点对点信道的数据链路层的协议数据单元–帧。 数据链路层吧网络层交下来的数据构成帧发送到链路上,以及把接收 继续阅读 >>


陈苏扬 17/09/30 12:58:48
因特网 起源于美国现在已经发展成世界上最大的国际性计算机互联网。 一下是一些网络、互联网、以及因特网的一些最基本的概念: 1.网络又若干结点和连接这些结点的链路(link)组成。网络中的结点可以是计算机、集线器、交换机或者路由器等。网络和网络可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网。因此互联网是“网络的网络” 2.因特网是世界上最大的互连网。习惯上,大家把链接在因特网上的计算机都称为主机。网络把许多计算机连接在一起,而因特网则把许多网络连接在一起。因特网就是世界上最大的计算机网络。 因特网发展三个阶段 1.第一个阶段是从单个网络ARPANET向互连网发展的过程,1969年美国国防部创建的第一个分组交换网ARPANET最初只是一个单个的分组交换网。所有要连接在ARPANET上的主机都直接与就近的结点交换机相连。 2.第二阶段特点是建成了三级结构的因特网。1985年起,美国国家科学基金会NSF就围绕六个大型计算机中心建设计 继续阅读 >>


陈苏扬 17/09/28 00:15:19