摘要: 首先需要弄清楚中断上下文切换和进程上下文切换之间的区别: 中断上下文切换发生在中断产生和中断返回时,由cpu硬件和中断处理程序入口的汇编代码结合起来完成中断上下文的切换。它是由一个进程的用户态进入其内核态,或者由内核态退出到用户态。 进程上下文的切换发生在进程调度过程中,是完全由内核代码来实现,没有 阅读全文
posted @ 2020-06-13 16:39 myhuang 阅读(782) 评论(0) 推荐(1) 编辑
摘要: 1. 找一个系统调用,系统调用号为学号最后2位相同的系统调用: 本次实验选择84号系统调用:rmdir。该系统调用的作用是删除文件夹。 #include <unistd.h> int rmdir( const char *pathname ); 返回值:若成功则返回0,若出错则返回-1 2. 通过汇 阅读全文
posted @ 2020-05-27 10:10 myhuang 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 本实验基于https://github.com/mengning/mykernel 实现。 一、虚拟一个x86-64的CPU硬件平台: 实验流程参见:https://github.com/mengning/mykernel 实验首先拦截linux内核的启动过程,来模拟程序执行的入口和周期性的产生时钟 阅读全文
posted @ 2020-05-06 18:05 myhuang 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 对注释进行优化: 阅读全文
posted @ 2020-03-09 11:41 myhuang 阅读(140) 评论(0) 推荐(0) 编辑
摘要: Ctrl+/ 使用"//"注释或取消注释(单行注释) Ctrl+Alt+L 自动格式化代码 Alt + Enter 自动导包(如果该类在多个包中有,需手动选择) 左手按住Ctrl+鼠标点击 看源码 Ctrl+Shift+/ 使用"/* */"注释或取消注释(多行注释) Fn+左箭头/右箭头 光标快速 阅读全文
posted @ 2020-03-07 12:22 myhuang 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 一个软件工程师的软件工程知识技能水平高低主要体现在哪些方面? 1. 是否掌握了程序员的基本功:键盘输入速度,快捷键,编译和调试工具等,熟练掌握常用的工具集—VSCode/Vim、正则表达式等。 2. 严格规范的代码风格,合理使用空格、空行、缩进、注释,代码逻辑清晰,没有冗余和重复,遵从架构与设计原则 阅读全文
posted @ 2020-01-02 17:19 myhuang 阅读(504) 评论(2) 推荐(1) 编辑
摘要: 如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平? 1. 掌握Linux网络相关命令的用法及原理,当网络出现故障时会使用相关命令进行分析和排查。 2. 熟练运用Linux Socket API进行网络编程,掌握各编程语言提供的Socket API接口与Linux Socket API之间 阅读全文
posted @ 2020-01-02 16:55 myhuang 阅读(445) 评论(2) 推荐(0) 编辑
摘要: TCP三次握手 三次握手的过程: 1. 第一次握手:建立连接。客户端发送连接请求报文段,并将SYN位置为1,seqence number为8000,然后,客户端进入SYN_SEND状态,等待服务器的确认。 2. 第二次握手:服务器收到SYN报文段。服务器收到客户端的SYN报文段,需要对这个SYN报文 阅读全文
posted @ 2019-12-26 19:14 myhuang 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 《算法导论第二版》 (ppt) 第一章 绪论 1.1 算法的基本特征 1.2 算法研究的意义 1.3 算法的描述形式 1.4 算法分析 1.5 增长速率 1.6 算法正确性分析 第二章 渐进符号 2.1 Θ符号(渐进符号) 2.2 Ο符号(渐进上界) 2.3 Ω符号(渐进下界) 2.4 利用极限比较 阅读全文
posted @ 2019-12-23 09:40 myhuang 阅读(423) 评论(0) 推荐(0) 编辑
摘要: Socket与系统调用深度分析 socket接口在用户态通过系统调用机制进入内核: 操作系统内核进入与退出的三种方式:系统调用、异常、中断 内核将系统调用作为一个特殊的中断来处理,即软中断(对应128号中断向量),使用int 0x80指令陷入到内核,128号中断向量对应的中断服务例程是 entry_ 阅读全文
posted @ 2019-12-19 19:56 myhuang 阅读(428) 评论(0) 推荐(0) 编辑