CSAPP学习笔记—虚拟内存 符号说明 虚拟内存地址寻址 图9-12展示了MMU如何利用页表来实现这种映射.CPU中的一个控制寄存器,页表基址寄存器(Page Table Base Register,PTBR)指向当前页表.N位的虚拟地址包含两个部分:一个p位的虚拟页表偏移(Virtual Page Offset,VPO)和一个(n-p)位的虚拟页号(Virtual Page Number,VPN).MMU利用VPN来选择适当的PTE.将页表条目中物理页号(Physical Page Numbe…
目录 1.学习笔记之mysql体系结构(C/S架构) 2.mysql整体架构 3.存储引擎 4.sql语句处理--SQL层(内存层) 5.服务器内存结构 6.mysql如何使用磁盘空间 7.mysql物理存储结构 8.mysql逻辑存储结构 学习笔记之mysql体系结构(C/S架构) 一.客户端 常用命令都在mysql data根目录下的bin目录: (1)最大用户连接数 一个连接数占512KB~64MB 内存 二.mysql整体架构(服务器进程架构) 简化如下图: 1.连接层 (1)一个用户连…
简介 本笔记目前已包含 CSAPP 中除第四章(处理器部分)外的其他各章节,但部分章节的笔记尚未整理完全.未整理完成的部分包括:ch3.ch11.ch12 的后面几小节:ch5 的大部分. 我在整理笔记时所考虑的是:在笔记记完后,当我需要查找某个知识点时,不需要到书中去找,只需查看笔记即可找到相关知识点.因此在整理笔记时力求全面与简洁,能够在查找时快速找到并迅速理解. 在此基础上,笔记已整理的内容是对书中内容的提炼,包括了我在学习时所认为的书中所有有用的知识点,因此每章的笔记内容都比较多. 注:…
Ch 1.0 1.计算机系统是由硬件和系统软件组成的 2.本书阐述了计算机组件是如何工作的以及执行组件是如何影响程序正确性和性能的. 3.通过跟踪hello程序的生命周期来开始对系统的学习. #include <stdio.h> int main() { printf("Hello World\n"); return 0; } Ch 1.1 信息就是 位+上下文 1.hello程序的生命周期始于源程序:源程序是由一系列的位序列组成的,8个位被组织成一组,称为字节:每个字节表…
关键词:mysql体系结构 参考:https://www.cnblogs.com/zhoubaojian/articles/7866292.html 一.mysql体系架构概述 1.mysql体系结构概述 (1)mysql是单进程.多线程的架构,oracle是多进程的架构(windows也是单进程,通过windows虚拟机). 单进程.多线程:上下文切换代价比较小,CPU消耗比较少. 多进程:并发比较好,上下文切换代价比较大. (2)mysql存储引擎是可插拔的:什么是存储引擎?存储引擎就是对数…
1:诸如子进程结束之后父进程需要被告知,有时候应用程序需要系统调用,内核通过上下文切换将控制从一个进程切换到另一个进程,还有一个进程发送信号到另一个进程时接收者转而到它的信号处理函数去执行等等,我们的操作系统,甚至硬件无时无刻不在发生"突变",我们把这种突变叫做异常控制流.即ECF(Exceptional Control Flow),它发生在计算机系统的各个层次. 2:为什么要理解异常控制流: (1):ECF是操作系统实现I/O,虚拟存储,进程的基本机制. (2):这将有助于你理解应用…
1:文本文件指的是ASCII码文件,二进制文件指的是除文本文件以外,其他文件. 2:区分数据对象的唯一判别方法是数据的上下文. 3:描述一下一个hello.c文件的处理过程.首先hello.c文件我们叫做源代码,经过预处理 gcc -E hello.c -o hello.i 处理一些宏,#define的预定义等,我们可以在hello.i的最底部找到我们helloworld的简单几行代码,编译之后得到汇编,gcc -s hello.c -o hello.s ,然后我们的汇编指令经过汇编就对应一条条…
1. Struts2体系结构 Struts是以前端控制器框架为主体的框架,用户的请求会通过控制器选择不同的Action类来执行具体的操作,在Action类中所有的Servlet对象(request.response.session等)仍然可用. 图:Struts2的体系结构 图:Struts2的体系结构 一个请求在Struts2框架中的处理大概分为以下几个步骤: (1) 客户端初始化一个指向Servlet容器(例如Tomcat)的请求:(2) 这个请求经过一系列的过滤器(Filter)(这些过滤…
Android的系统架构采用了分层架构的思想,如上图所示.从上层到底层共包括四层,分别是   1.应用程序程序层   2.应用框架层   3.系统库和Android运行时 4.Linux内核.   每层功能简要介绍:  一 应用程序层 该层提供一些核心应用程序包,例如电子邮件.短信.日历.地图.浏览器和联系人管理等.同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等.友好共处. 二 应用程序框架层 该层是Android应用开发的基础,开发人员大部分…
中断是什么? 举个栗子, 系统怎么知道你什么时候插入鼠标这个设备? 可以有两种处理方式: 1. 查询方式: 轮询去检测是否有设备插入; 2. 中断的方式 当鼠标插入这个事件发生时, 置位某个寄存器,告诉CPU去处理这个事件. 对于查询方式, 我们需要一直去监控想要知道的状态, 而中断的处理方式, 使得CPU有空去处理其他的事情, 当插入鼠标这个时间发生时才来处理这个事件, 这样下来, 处理效率会高很多,中断的作用也可见一斑. 下面介绍s3c2440的中断控制器 s3c2440有60个中断源, 这…