腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
Miigon's Blog
专栏成员
举报
37
文章
35559
阅读量
12
订阅数
订阅专栏
申请加入专栏
全部文章(37)
go(6)
function(5)
kernel(4)
process(4)
c++(3)
数据库(3)
code(3)
file(3)
key(3)
lock(3)
memory(3)
scope(3)
this(3)
sql(2)
api(2)
网络安全(2)
https(2)
bit(2)
declaration(2)
fork(2)
map(2)
proc(2)
release(2)
return(2)
sleep(2)
state(2)
struct(2)
table(2)
wait(2)
php(1)
c#(1)
json(1)
云数据库 SQL Server(1)
postgresql(1)
access(1)
django(1)
git(1)
github(1)
linux(1)
unix(1)
mongodb(1)
http(1)
存储(1)
开源(1)
shell(1)
dns(1)
虚拟化(1)
add(1)
alarm(1)
allocation(1)
asm(1)
block(1)
break(1)
bug(1)
byte(1)
cat(1)
client(1)
copy(1)
count(1)
cpu(1)
decimal(1)
definition(1)
digits(1)
distance(1)
event(1)
fixed(1)
handle(1)
handler(1)
io(1)
ip(1)
iteration(1)
lines(1)
list(1)
mask(1)
message(1)
mmap(1)
naming(1)
networking(1)
next(1)
object(1)
package(1)
parent(1)
point(1)
post(1)
precision(1)
queue(1)
random(1)
request(1)
scale(1)
semantics(1)
semaphore(1)
sequence(1)
series(1)
session(1)
set(1)
size(1)
sort(1)
std(1)
syntax(1)
system(1)
thread(1)
time(1)
touch(1)
trace(1)
txt(1)
types(1)
unique(1)
variables(1)
vector(1)
version(1)
virtual(1)
web(1)
xargs(1)
操作系统(1)
对象(1)
二进制(1)
内核(1)
事务(1)
算法(1)
文件系统(1)
性能(1)
最佳实践(1)
搜索文章
搜索
搜索
关闭
[随笔]文件系统上存储哈希对象:哈希算法以及目录结构对性能的影响
存储
对象
算法
文件系统
性能
原贴:https://0xffff.one/d/1395-wen-jian-xi-tong-zuo-wei-huan-cun
Miigon
2023-03-31
1.1K
0
随笔:Golang 循环变量引用问题以及官方语义修复
c#
go
bug
iteration
semantics
这篇文章谈一个已经在 Golang 中存在多年的,几乎每一个新手都要被坑一遍的设计:引用捕获了循环变量,且逃逸出循环迭代范围而造成的逻辑错误。
Miigon
2023-03-16
1.6K
0
Linux 是否有 zombie thread?源码探究分析
linux
https
网络安全
系统编程课上遇到的一个问题:Linux下,如果一个 pthread_create 创建的线程没有被 pthread_join 回收,是否会和僵尸进程一样,产生“僵尸线程”?
Miigon
2022-11-25
1.7K
0
MySQL Prepare后语句查询性能降低 源码bug排查分析
sql
数据库
云数据库 SQL Server
源自于业务上遇到的一个先将某个语句Prepare再Execute查询效率很低的问题,而将查询中的参数直接嵌入到SQL语句内并以文本形式执行,则执行反而变得很快。
Miigon
2022-11-25
1.5K
0
[StackOverflow] C++ gRPC 异步 API 实例与优势
c++
api
handle
io
next
转自 我的一个 StackOverflow 回答。因为答案比较长,而且感觉比较有意义,就翻译成了中文发了出来。 原问题: 我正在用 gRPC 构建一个要求高吞吐量的服务。但是我现在用 C++ 同步式 gRPC 编写的程序的吞吐量并不高。 我已经读过了 gRPC 文档,但是我并没有找到对于同步/异步 API 的区别的清晰解释。我只知道异步 API 可以控制完成队列(completion queue),而对于同步 API 来说是不可视的。 我的理解是同步 gRPC 会发送消息到 TCP 层,然后等待收到 “ack”,因此下个消息会被阻塞,而异步 API 会异步地发送消息,而不需要后面的消息等待前面的消息。
Miigon
2022-10-27
1.4K
0
记一次 C++ 核心语言标准中一个 issue 的发现和提交经历
c++
declaration
definition
function
scope
上面的代码,无论是在 gcc/clang 还是 g++/clang++ 上,编译都是不能通过的,报错如下:
Miigon
2022-10-27
511
0
[mit6.033] 第一部分 LEC 1-6 Operating Systems 笔记
dns
虚拟化
lock
virtual
wait
命名的 scheme 体现了我们希望系统通过命名来得到什么功能。(addressing, indirection, etc)
Miigon
2022-10-27
528
0
[mit6.033] 第二部分 LEC 7-12 Networking 笔记
distance
ip
scale
state
vector
这一部分 Lecture 讲的内容,与计算机网络有一定重合,这里笔记偏向于在系统设计中需要考虑的概念,而至于具体的协议、网络通信的具体细节等,即使在 lecture 视频中提到了,也不会记录到笔记中。这一部分细节可以通过计算机网络课程学习。
Miigon
2022-10-27
288
0
[SZU] 数据库内核课程 PostgreSQL 12.5 源码安装避坑 guide
数据库
postgresql
Linux/Mac 用户可直接编译,Windows 用户自行搜索 wsl 教程配置后,剩余流程同 Linux 用户。
Miigon
2022-10-27
1.3K
0
[mit6.s081] 笔记 Lab1: Unix utilities | Unix 实用工具
unix
shell
file
sleep
xargs
This lab will familiarize you with xv6 and its system calls.
Miigon
2022-10-27
1.1K
0
[mit6.s081] 笔记 Lab10: Mmap | 文件内存映射
bit
fork
map
mmap
proc
实现 *nix 系统调用 mmap 的简单版:支持将文件映射到一片用户虚拟内存区域内,并且支持将对其的修改写回磁盘。
Miigon
2022-10-27
1.5K
0
[mit6.s081] 笔记 Lab11: Networking | 网络
access
memory
networking
操作系统
熟悉系统驱动与外围设备的交互、内存映射寄存器与 DMA 数据传输,实现与 E1000 网卡交互的核心方法:transmit 与 recv。
Miigon
2022-10-27
531
0
[mit6.s081] 笔记 Lab2: System calls | 系统调用
kernel
add
mask
proc
trace
In this lab you will add some new system calls to xv6, which will help you understand how they work and will expose you to some of the internals of the xv6 kernel. You will add more system calls in later labs.
Miigon
2022-10-27
981
0
[mit6.s081] 笔记 Lab3: Page tables | 页表
kernel
map
process
table
内核
In this lab you will explore page tables and modify them to simplify the functions that copy data from user space to kernel space.
Miigon
2022-10-27
1.7K
2
[mit6.s081] 笔记 Lab4: Traps | 中断陷阱
kernel
alarm
asm
function
handler
This lab explores how system calls are implemented using traps. You will first do a warm-up exercises with stacks and then you will implement an example of user-level trap handling.
Miigon
2022-10-27
691
0
[mit6.s081] 笔记 Lab5: Lazy Page Allocation | 内存页懒分配
kernel
allocation
memory
table
touch
实现一个内存页懒分配机制,在调用 sbrk() 的时候,不立即分配内存,而是只作记录。在访问到这一部分内存的时候才进行实际的物理内存分配。
Miigon
2022-10-27
813
0
[mit6.s081] 笔记 Lab6: Copy-on-write fork | fork 懒拷贝
copy
fork
memory
parent
process
COW fork() creates just a pagetable for the child, with PTEs for user memory pointing to the parent’s physical pages. COW fork() marks all the user PTEs in both parent and child as not writable. When either process tries to write one of these COW pages, the CPU will force a page fault. The kernel page-fault handler detects this case, allocates a page of physical memory for the faulting process, copies the original page into the new page, and modifies the relevant PTE in the faulting process to refer to the new page, this time with the PTE marked writeable. When the page fault handler returns, the user process will be able to write its copy of the page.
Miigon
2022-10-27
778
0
[mit6.s081] 笔记 Lab7: Multithreading | 多线程
key
sequence
sleep
struct
thread
This lab will familiarize you with multithreading. You will implement switching between threads in a user-level threads package, use multiple threads to speed up a program, and implement a barrier.
Miigon
2022-10-27
996
2
[mit6.s081] 笔记 Lab8: Locks | 锁优化
cpu
key
lock
release
return
通过拆分 kmem 中的空闲内存链表,降低 kalloc 实现中的 kmem 锁竞争。
Miigon
2022-10-27
908
0
[mit6.s081] 笔记 Lab9: File System | 文件系统
byte
file
struct
system
与 FAT 文件系统类似,xv6 文件系统中的每一个 inode 结构体中,采用了混合索引的方式记录数据的所在具体盘块号。每个文件所占用的前 12 个盘块的盘块号是直接记录在 inode 中的(每个盘块 1024 字节),所以对于任何文件的前 12 KB 数据,都可以通过访问 inode 直接得到盘块号。这一部分称为直接记录盘块。
Miigon
2022-10-27
992
0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档