随笔分类 -  OS

摘要:下面所述以Linux 0.1.1源码为例(Linux初期版本源码1w多行,推荐阅读源码,或看相关书籍 Linux内核(v0.1.2)注释 ) 相关部件: Linux OS CPU:有自己的频率,通常很高(如笔者当前机器的CPU频率为1.3GHZ,即其寄存器的操作延迟为0.8ns左右),因此可以在1秒 阅读全文
posted @ 2021-08-28 18:22 March On 阅读(211) 评论(0) 推荐(0) 编辑
摘要:从以下介绍可看出,“太阳底下无新鲜事”,很多以为很复杂的业务层系统的实现原理实际上在OS内核中都有原型。因此,底层原理领会了,就能游刃有余应万变需求!!! IO时(不管是磁盘IO还是网络IO)的过程整体上看有两个操作(write过程与read过程相反): 1 将数据从外设读入内核态内存,如从网卡读入 阅读全文
posted @ 2021-08-19 21:23 March On 阅读(1772) 评论(0) 推荐(1) 编辑
摘要:什么是中断 计算机中的“中断”(Interruption),广义上理解,是指打断(interrupt)正在执行的程序使得处理器去执行其他程序。(BTW:“中断”一词,听上去莫名其妙,感觉叫“打断”更贴切,只不过有点难听。。。) 整个操作系统就是一个中断驱动的死循环,操作系统原理如果用一行代码解释,下 阅读全文
posted @ 2021-08-19 15:35 March On 阅读(4904) 评论(0) 推荐(0) 编辑
摘要:简单总结:有软件断点和硬件断点 软件断点:软件断点在X86系统中为中断指令INT 3,其二进制代码opcode是0xCC。当程序执行到INT 3指令时,会引发软件中断。操作系统的INT 3中断处理器会寻找注册在该进程上的调试处理程序。从而像Windbg和VS等等调试器就有了上下其手的机会。程序出错时 阅读全文
posted @ 2019-11-29 10:09 March On 阅读(2008) 评论(0) 推荐(0) 编辑
摘要:1、WebSocket是什么 WebSocket是一种在单个TCP连接上进行全双工通信的协议,其目的是在浏览器和服务器之间建立一个不受限的双向通信的通道,使得服务器可以主动发送消息给浏览器。在HTML5中包含了WebSocket API规范。 WebSocket 协议在2008年诞生,2011年成为 阅读全文
posted @ 2018-07-29 14:45 March On 阅读(1709) 评论(0) 推荐(0) 编辑
摘要:1 什么是Docker 1.1 What Docker是一种基于Linux内核实现的虚拟化技术,其在容器的基础上进一步封装了文件系统、网络、进程隔离等等,从而极大地简化了容器的创建和维护。Docker使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的namespace 阅读全文
posted @ 2017-12-04 16:01 March On 阅读(769) 评论(0) 推荐(0) 编辑
摘要:CAP原理指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。因此在进行分布式架构设计时,必须做出取舍。而对于分布式数据系统,分区容忍性是基本要求,否则就失去了价值。因此设计分布式数据系统,就是在一致性和可用性之间取一个平衡。对于大多数web应用,其实并不需要强一致性,因此牺牲一致性而换取高可用 阅读全文
posted @ 2017-08-20 16:15 March On 阅读(2006) 评论(0) 推荐(0) 编辑
摘要:Java语言中的转义字符及正则语法中的转义字符在Java字符串中的表示。 ASCLL中的转义字符共有14个: \o 空字符(NULL) 00H/0 \n 换行符(LF) 0AH/10 \r 回车符(CR) 0DH/13 \t 水平制表符(HT) 09H/9 \v 垂直制表(VT) 0B/11 \a 阅读全文
posted @ 2017-06-05 14:40 March On 阅读(9184) 评论(0) 推荐(1) 编辑
摘要:20210819补充:线程阻塞(“阻塞”可以是指线程阻塞,也可以是指IO阻塞,两者不是一件事)的本质,详情可参阅文章 线程阻塞的本质。 深入到Linux内核源码看,阻塞与非阻塞的最终效果是线程状态的改变——阻塞就是将当前线程的状态标记为非RUNNABLE状态(例如Java scanner.nextL 阅读全文
posted @ 2017-04-07 21:44 March On 阅读(1288) 评论(0) 推荐(1) 编辑
摘要:简而言之,用户态内核态的划分是出于安全考虑的,将跟硬件相关的操作只允许由OS来进行、应用程序只能通过调用OS提供的API来操作硬件(即通过系统调用),两者分别称为内核态(或管态)、用户态。 OS对硬件的操作是借助硬件驱动程序完成的。后者实际上也是一层针对不同硬件的标准抽象以屏蔽不同硬件的操作差异细节 阅读全文
posted @ 2017-01-05 21:24 March On 阅读(2454) 评论(0) 推荐(0) 编辑
摘要:【注:本文内容大多为看到一些不错文章后的简单笔记,可作为了解或帮助回忆相关知识点的线索。但这些文章或内容虽然易懂但可能不太准确,建议还是看书!!】 计算机和OS启动过程:https://www.cnblogs.com/z-sm/p/5657914.html CPU中断:https://www.cnb 阅读全文
posted @ 2017-01-04 09:49 March On 阅读(410) 评论(0) 推荐(0) 编辑
摘要:1、CPU视角看计算机启动过程(见 CPU阿甘——码农翻身) 2、CPU视角看程序装载运行过程(见 CPU阿甘之烦恼——码农翻身) 批处理系统:可以理解为只能串行执行每个程序的系统。“批”体现在很多操作封装在一个程序里,然后提交给系统去运行。(尼玛取这名真误导人,咋看以为“批”多个程序能并发处理,还 阅读全文
posted @ 2017-01-03 16:10 March On 阅读(381) 评论(0) 推荐(0) 编辑
摘要:转自:http://blog.csdn.net/zhang_shuai_2011/article/details/38119657 原文如下: 一. CacheCache一般来说,需要关心以下几个方面1)Cache hierarchyCache的层次,一般有L1, L2, L3 (L是level的意 阅读全文
posted @ 2016-12-10 22:16 March On 阅读(3360) 评论(0) 推荐(0) 编辑

top last
Welcome user from
(since 2020.6.1)