上一页 1 2 3 4 5 6 7 8 ··· 29 下一页

2022年3月15日

Cache与内存:程序放在哪儿?

摘要: 1)什么是局部性原理? ​ #include <stdio.h> int main(){ int i,j; for(i=1;i<=9;i++){ for(j=1;j<=i;j++){ printf("%d*%d=%2d ",i,j,i*j); } printf("\n"); } return 0;  阅读全文

posted @ 2022-03-15 17:31 Love&Share 阅读(435) 评论(0) 推荐(0) 编辑

虚幻与真实:程序中的地址如何转换?

摘要: 1)读取指令、读写数据的时候需要和内存进行怎样的交互? 告诉内存芯片:hi,内存老哥请你把 0x10000 地址处的数据交给我……hi,内存老哥,我已经计算完成,请让我把结果写回 0x200000 地址的空间。这些地址存在于代码指令字段后的常数,或者存在于某个寄存器中。 设想一下,如果一台计算机的内 阅读全文

posted @ 2022-03-15 17:27 Love&Share 阅读(424) 评论(0) 推荐(0) 编辑

CPU工作模式:执行程序的三种模式

摘要: 1)CPU 的工作模式有哪三种? 实模式、保护模式、长模式 2)如果下面这段应用程序代码能够成功运行,会有什么后果? ​ int main() { int* addr = (int*)0; cli(); //关中断,什么信号来都不能终止CPU while(1) { *addr = 0; addr++ 阅读全文

posted @ 2022-03-15 17:25 Love&Share 阅读(519) 评论(0) 推荐(0) 编辑

2022年3月10日

一不小心就死锁了,怎么办?

摘要: 1)上一节我们用一把大锁锁住银行的转账业务,这样会造成什么样的问题? 所有账户的转账操作都是串行的,性能太差 A 转账户 B、账户 C 转账户 D 这两个转账操作现实世界里是可以并行的,但是在这个方案里却被串行化了 2)那么如何优化可以让我们的账户之间转账和入账能够并行执行呢? 在 transfer 阅读全文

posted @ 2022-03-10 23:04 Love&Share 阅读(277) 评论(0) 推荐(0) 编辑

震撼的Linux全景图:业界成熟的内核架构长什么样?

摘要: 1)Linux怎么来的? Linus 为了方便访问大学服务器中的资源 ,在自己的机器上写了一个文件系统和硬盘驱动,这样就可以把自己需要的资源下载到自己的机器中。随后linus把这款操作系统雏形开源,成千上万的程序员敲出了linux操作系统。 2)为什么很多公司企业网络把linux当作服务器来使用? 阅读全文

posted @ 2022-03-10 23:03 Love&Share 阅读(1349) 评论(0) 推荐(2) 编辑

2022年3月5日

几行汇编几行C:实现一个最简单的内核

摘要: 1)现有的操作系统都是用什么语言开发出来的? 汇编和 C 语言 2)GRUB是什么? 叫操作系统起床的。允许我们的计算机上有多个操作系统。要用哪个的时候就把哪个的内核叫醒。 帮我来管理操作系统的管家。 3)GRUB哪里能获得呢? Ubuntu Linux 操作系统自带 4)我们要实现一个Hello 阅读全文

posted @ 2022-03-05 23:16 Love&Share 阅读(292) 评论(0) 推荐(0) 编辑

怎么给字符串字段加索引?

摘要: 假设,你现在维护一个支持邮箱登录的系统,用户表是这么定义的: create table SUser( ID bigint unsigned primary key, email varchar(64), ... )engine=innodb; 由于要使用邮箱登录,所以业务代码中一定会出现类似于这样的 阅读全文

posted @ 2022-03-05 23:13 Love&Share 阅读(455) 评论(0) 推荐(1) 编辑

2022年3月4日

程序的运行过程:从代码到机器运行

摘要: 1)你知道程序是如何运行的吗? 1.1)Unix是怎么来的? Ken Thompson 的妻子回娘家一个月,他在贝尔实验室无聊,就搞出了UNICS操作系统(unix的前身)。 当时可没有c语言,大佬是用B语言和汇编语言写出来的。 1.2)那UNIX是怎么来的呢? 牛人的朋友也是牛人,Thompson 阅读全文

posted @ 2022-03-04 23:26 Love&Share 阅读(454) 评论(0) 推荐(0) 编辑

MySQL为什么有时候会选错索引?

摘要: 案例: CREATE TABLE `t` ( `id` int(11) NOT NULL AUTO_INCREMENT, `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `a` (`a`), KE 阅读全文

posted @ 2022-03-04 23:21 Love&Share 阅读(90) 评论(0) 推荐(0) 编辑

互斥锁(下):如何用一把锁保护多个资源?

摘要: 1)当我们要保护多个资源时,首先要做的是什么? 分析这些资源是否存在关联关系 2)应该怎样保护没有关联关系的多个资源? 应该怎样保护没有关联关系的多个资源?**就是没有关联关系的,这种场景非常容易解决,那就是球赛有球赛的门票,电影院有电影院的门票,各自管理各自的 对应到编程领域,例如,银行业务中有针 阅读全文

posted @ 2022-03-04 23:18 Love&Share 阅读(440) 评论(0) 推荐(3) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 29 下一页

导航