笔记
IT童梦
这个作者很懒,什么都没留下…
展开
-
JVM本质
JVM虚拟机是什么东西,本质就是一套程序能动态产生新的程序,还能产生线程去执行动态产生的新程序原创 2021-06-06 16:18:49 · 110 阅读 · 0 评论 -
编译器,代码,操作系统的关系
1.编译器可以生产代码2.编译本身是代码构成3.操作系统也是编译器生产出来的代码4.操作系统上面也可以运行各种编译器理清这些问题就可以理解JVM虚拟机原创 2021-04-29 09:21:58 · 563 阅读 · 0 评论 -
自己构造页表 平滑过渡到保护模式
不管是实模式下的物理地址,还是保护模式下的物理地址,反正他们都是物理地址,实模式下求的物理地址,也能在保护模式下使用,只是他们不同的是,如何寻址的方式不一样。原创 2021-03-20 11:36:50 · 94 阅读 · 0 评论 -
驱动三大任务
1 读写设备内存2 配置设备DMA3 处理设备中断原创 2021-02-05 12:57:57 · 152 阅读 · 0 评论 -
备忘 有关虚拟内存与物理内存
CPU 访问一个地址 都要页表去转换 首先要有页表项 没有页表项 直接内存段错误.其次要有挂物理页 没有物理页,可以缺页异常去补上,就可以访问成功,内核线性映射区就可以映射完所有物理内存,vmalloc区的内核虚拟地址与物理地址就不存在线性关系.虚拟地址与物理地址是多对一与一对多的关系。所以一个物理页是可以映射给不同的进程,也可以同时映射给内核与进程...原创 2021-01-24 11:02:48 · 66 阅读 · 0 评论 -
Eventfd
eventfd是一个用来通知事件的文件描述符.内核与用户空间互动,肯定要通信.一种方式是内核通知用户空间,告诉这个文件描述符在内核的状态,以便让用户空间采取了相应的方法去处理.epoll机制就是这样,把连接源源不断地交给内核协议栈处理,通过eventfd 等好了去批量处理....原创 2021-01-07 09:15:48 · 111 阅读 · 0 评论 -
swapper pg dir 内核页表
它进程通过do_page_fault(缺页异常)从swapper_pg_dir 来修正自己的页表原创 2020-12-14 22:12:49 · 181 阅读 · 0 评论 -
信息的作用
信息的存储 传输 处理 都需要额外的信息,这些功能由硬件和软件共同配合完成,数据库,文件系统,操作系统,网络协议栈是软件层面的技术。cpu 内存 硬盘 网络设备是硬件的技术.硬件和软件要共同配合才能完成任务,如cpu内存与操作系统内核配合,构建出一个支持多进程同时运行的平台大大提高硬件效率与降低软件开发的复杂度。一句话程序等于数据结构加指令。...原创 2020-11-28 16:28:52 · 205 阅读 · 0 评论 -
Linux 内核相关 备忘2020-7-9
童梦(Kevin Luo) 下午11:10指针可以想象成一根连接线童梦(Kevin Luo) 下午11:44加锁和释放锁是执行流的约定行为规范 如果不遵守 有可能出问题————— 2020-7-9 —————童梦(Kevin Luo) 上午12:42调试原理是调试器和被调试进程建立了联系后 因为被调试进程被标记了 内核就会对他特别处理 当调试事件发生时 让被调试进程停下 通知调试器处理 Windows 与Linux 都是这么干的 int3断下后 可以再TF标志位设置去单步...原创 2020-07-09 00:45:00 · 158 阅读 · 1 评论 -
关于指针
1 指针是变量 有内存空间2 指针存的内容是一个地址3 指针有类型4 指针可以指向任意地址,但是只能用自己的类型去解释指向地址的内存数据以上是指针的本质原创 2020-07-07 13:23:39 · 98 阅读 · 0 评论 -
总结备忘
Dear:"文件传输助手"和"童梦(Kevin Luo)"的聊天记录如下:————— 2020-5-26 —————童梦(Kevin Luo) 下午2:40锁是针对内存资源的 关中断与关抢占是针对单cpu的童梦(Kevin Luo) 下午10:51链表删除操作必须找到前驱节点 如果是单链表 只能遍历去找 效率低————— 2020-5-28 —————童梦(Kevin Luo) 下午4:52临界区要串行执行 可以通过原子操作或者锁来保证 为了尽快执行完 可以关中断—————原创 2020-07-07 13:16:57 · 945 阅读 · 0 评论 -
Epoll 内核机制有感
io都是通过内核获取 用户线程只是持有io句柄或文件描述符 本质是一个索引号 如果io 没有就绪 线程去读就会阻塞 单线程如果想处理多路io 的话 那就要内核帮忙返回已就绪的io 这样线程才可以同步调用返回后逐个处理 实现高并发 epoll 这是在内核管理io 的...原创 2020-05-09 17:52:07 · 95 阅读 · 0 评论 -
编译型语言与解释型语言的对比备忘
1.编译型语言调用的是一个个函数 python调用的是一个程序 开发效率是无法比较的.怪不得python 叫胶水语言2.Java的跨平台是在操作系统上添加一层,对上提供统一接口,对下针对不同平台把字节码转成本地机器码去执行。3 .net core来自微软,终于忍不住了,眼看java 通吃所有平台的应用开发,自家的c#却始终在自家小众平台上无大作为,这回可要学java搞跨平台跨语言。希望能有好未...原创 2020-05-06 16:47:28 · 114 阅读 · 0 评论 -
内核同步机制备忘
1.并发的问题是多个线程访问相同的全局变量2.要求有序访问 符合业务逻辑 因此需要同步机制代码来保证3.问题由全局变量引起 那就引入另一些全局变量去解决 各种锁就是这样的全局变量...原创 2020-05-06 10:03:12 · 130 阅读 · 0 评论