操作系统
文章平均质量分 86
良晨
keep coding...
展开
-
从 level-ip 源码来看 TCP 如何接收消息
陈硕的书中有说到过网络编程有三个层次:● 读过教程和文档,做过练习● 熟悉本系统 TCP/IP 协议栈的脾气● 自己写过一个简单的 TCP/IP stack个人觉得自己第一层次已经没有什么问题,自己编写过一些经典的的网络编程代码(chat、echo、proxy),能够不错地运行在开发环境;第二层次通过自己开发的 serverlite 网络库也对网络编程和 TCP/IP 的一些坑有所了解,欠缺一些线上调试和解决问题的经验,这个需要多年的工作积累目前尚未达到,所以第二层次算是入门。但经验积累不是一蹴原创 2023-01-14 15:31:38 · 658 阅读 · 0 评论 -
重读&笔记系列-《深入理解计算机系统》第三章-part3,part4
Machine Programming III: ProceduresMechanisms in ProceduresPassing controlTo beginning of procedure codeBack to return pointPassing dataProcedure argumentsReturn valueMemory managementAllocate during procedure executionMechanisms al原创 2021-05-27 21:02:38 · 348 阅读 · 0 评论 -
CSAPP实验之Bomb Lab详解
文章目录前言phase 1phase 2phase 3phase 4phase 5phase 6总结和感想前言Bomb Lab来自《深入理解计算机系统》(CSAPP)一书的第三章“程序的机器级表示”的配套实验,该实验的目的是通过反汇编可执行程序,来反推出程序执行内容,进而能够正确破解”密码“,解除“炸弹”。Bomb Lab文件目录如下:├── bomb├── bomb.c└── READMEbomb: 可执行程序,我们需要对其进行反汇编和gdb调试。bomb.c: bomb的主函数mai原创 2021-05-23 19:12:52 · 18020 阅读 · 8 评论 -
重读&笔记系列-《深入理解计算机系统》第三章-part1,part2
Machine Programming IMachine Programming I: BasicHistory of Intel processors and architecturesC, assembly, machine codeDefinitionArchitecture: also ISA instruction set architecture) The parts of a processor design that one needs to understand or wri原创 2021-05-05 22:39:03 · 1752 阅读 · 0 评论 -
重读&笔记系列-《深入理解计算机系统》第一章
《深入理解计算机系统》笔记1 计算机系统漫游计算机由系统软件和硬件组成,其内在概念亘古不变。通过对hello world程序的生命期来了解计算机系统。1.1 信息就是位+上下文信息+上下文=信息,不同类型的信息有不同的上下文,上下文就是编码规则。只由ASCII字符构成的文件为文本文件,其他所有文件为二进制文件。C语言成功的因素:Unix由C语言编写、小而简单、为实践目的设计。1.2 程序被翻译成不同的格式预处理阶段(.c->.i):处理#开头的命令,载入头文件,替换宏定义。编译阶原创 2021-03-26 21:53:25 · 147 阅读 · 0 评论 -
Python3缺少sqlite3或openssl的问题
最近对需要在一台内网环境的服务器上离线手动安装python3,操作系统为ubuntu16.04,遇到的问题特此记录问题描述在python导入模块sqlite3和openssl过程中出现如下错误:手动编译python3过程中出现以下错误:这些错误说明了以下几点:ssl相关的库文件libssl.so.1.1, libcrypto.so.1.1未找到sqlite3等模块相关文件未找到无法安装ssl模块由于库文件无法找到的原因,未能成功安装那么我们一一解决以上问题。1 手..原创 2021-01-19 10:48:34 · 1451 阅读 · 0 评论 -
子进程与子线程的区别
1、相同点:(a)二者都具有ID,一组寄存器,状态,优先级以及所要遵循的调度策略。(b) 每个进程都有一个进程控制块,线程也拥有一个线程控制块。(c) 线程和子进程共享父进程中的资源;线程和子进程独立于它们的父进程,竞争使用处理器资源;线程和子进程的创建者可以在线程和子进程上实行某些控制,比如,创建者可以取消、挂起、继续和修改线程和子进程的优先级;线程和子进程可以改变其属性并创建新的资源。...转载 2019-03-19 17:23:12 · 3667 阅读 · 0 评论 -
ucore实验的一些环境准备(ubuntu系统)
ucore的实验是基于linux系统下实现的,所以首先得装linux。一般会用虚拟机来装,这样比较方便简单。我是用双系统,直接装的linuxmint 18,分了40g左右我觉得够用了(双系统的好处就是体验比较好)。ubuntu系统下只需要在终端输入这么几行代码就行: $ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get in...原创 2018-05-27 01:46:40 · 4343 阅读 · 1 评论 -
对操作系统的一点理解
最近在mooc平台上学习操作系统,是由清华大学的向勇老师和陈瑜老师授课,目前还在学习中,主要是为了弥补本科阶段在学习这门课中所欠缺和遗忘的知识,感觉基础还是不足,尤其是对于陈瑜老师所讲的实验部分基于ucore的实验,虽然比较复杂但感觉受益匪浅。向勇老师讲的理论的部分和本科所讲的顺序和方式不尽相同,可能是学过的原因,总感觉这种理论内容的讲法更好理解。 我目前对操作系统的理...原创 2018-05-27 01:29:57 · 4990 阅读 · 0 评论