摘要:
最近忙于找工作,总结下自己的面试经历,勉励自己不断学习不断进步吧。人,不管从事什么样的职业和做何种工作,都要保持一种不断探索和回头总结的习惯,好记性不如烂笔头。 面经1 一面 题 直接上题,如图,拿到这张卷子,第一反应是粗略扫了下三个题,第一题一看就会;第二题让我联想到了动态规划,最后也是用动态规划 阅读全文
摘要:
最近忙于找工作,总结下自己的面试经历,勉励自己不断学习不断进步吧。人,不管从事什么样的职业和做何种工作,都要保持一种不断探索和回头总结的习惯,好记性不如烂笔头。 面经1 一面 题 直接上题,如图,拿到这张卷子,第一反应是粗略扫了下三个题,第一题一看就会;第二题让我联想到了动态规划,最后也是用动态规划 阅读全文
摘要:
目的 无论是公司、学校和社会团体,都会举办各式各样的活动,比如运动会、部门会议、项目会议、野炊、团建等。作为团队管理者来讲,当然希望能够把这类活动转移到线上形成完整的系统,类似于电子流的形式。本文以学院组织的所有活动为例,实现一个这样的系统。 群体 学院由很多班级组成,每个班级由班干部(如班长、团支 阅读全文
摘要:
Exercise1 源代码阅读 文件系统部分 buf.h fcntl.h stat.h fs.h file.h ide.c bio.c log.c fs.c file.c sysfile.c exec.c 1.buf.h:对xv6中磁盘块数据结构进行定义,块大小为512字节。 2.fcntl.h:宏 阅读全文
摘要:
Exercise1 源代码阅读 锁部分:spinlock.h/spinlock.c以及相关其他文件代码 Exercise2 带着问题阅读 1.什么是临界区? 什么是同步和互斥? 什么是竞争状态? 临界区操作时中断是否应该开启? 中断会有什么影响? XV6的锁是如何实现的,有什么操作? xchg 是什 阅读全文
摘要:
Exercise1 源代码阅读 1.内存管理部分: kalloc.c vm.c 以及相关其他文件代码 kalloc.c:char kalloc(void)负责在需要的时候为用户空间、内核栈、页表页以及缓冲区分配物理内存,将物理地址转为虚拟地址返回,物理页大小为4k。void kfree(char v 阅读全文
摘要:
Exercise1 源代码阅读 1.启动部分: bootasm.S bootmain.c 和xv6初始化模块:main.c bootasm.S 由16位和32位汇编混合编写成的XV6引导加载器。bootasm.S内的汇编代码会调用bootmain.c中的void bootmain(void);mai 阅读全文
摘要:
Exercise1 源代码阅读 1.基本头文件:types.h param.h memlayout.h defs.h x86.h asm.h mmu.h elf.h types.h:仅仅是定义uint, ushort, uchar pde_t别名; parame.h 利用宏定义了进程最大数量,进程的 阅读全文
摘要:
API epoll提供给用户进程的接口有如下四个,本文基于linux 5.1.4源码详细分析每个API具体做了啥工作,通过UML时序图理清内核内部的函数调用关系。 1. int epoll_create1(int size); 创建一个epfd句柄,size为0时等价于int epoll_creat 阅读全文
摘要:
引言 并发是什么?企业在进行产品开发过程中为什么需要考虑这个问题?想象一下天猫的双11和京东的618活动,一秒的点击量就有几十万甚至上百万,这么多请求一下子涌入到服务器,服务器需要对这么多的请求逐个进行消化掉,假如服务器一秒的处理能力就几万,那么剩下的不能及时得到处理的这些请求作何处理?总不能让用户 阅读全文
摘要:
近来用Markdown写文章,越来越不喜欢插入图片了,一切能用语法解决的问题坚决不放图,原因有二: 1. 如果把流程图和数学公式都以图片方式放到文章内,当部署到Github上后,访问博客时图片加载实在太慢,有时一篇文章需要画10来个流程图,那你就得截图10来多次,还得给这些图片想一个合适的名字,同时 阅读全文
|