操作系统
文章平均质量分 60
枕畔雪
这个作者很懒,什么都没留下…
展开
-
Linux虚拟文件系统VFS简述
VFS转载 2016-05-26 20:39:57 · 810 阅读 · 0 评论 -
文件系统-硬链接与软链接的区别
我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点原创 2016-05-26 21:13:08 · 3460 阅读 · 0 评论 -
核心转储(core dumps)
最近在实习,学了一下nginx.其中nginx的配置文件中有个参数:worker_rlimit_core SIZE;该参数是用于限制coredump核心转储文件大小的。什么是核心转储? 核心转储就是在linux或是类unix系统中,当一个进程发生错误或是收到信号要终止时,系统会将进程执行时的内存内容写入一个core文件,以作为调试之用,这就是核心转储(core dumps)。为什么nginx中原创 2016-11-04 15:47:30 · 1148 阅读 · 0 评论 -
linux系统开机自启过程
加电自检-读取BIOS-读取MBR-bootloader-运行kernal-运行init-运行其他程序。 (1)加电自检,检测硬件设备,检测cpu,内存,主板,显卡,CMOS等设备是否有故障。 (2)读取BIOS,加电自检完成读取的第一个地方就是BIOS,BIOS定义了一个计算机引导启动的设备顺序。里面记录了主板的芯片与各种设置,比如说cpu与接口设备的通信频率,原创 2016-11-02 17:04:53 · 385 阅读 · 0 评论 -
进程和线程的区别
进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线原创 2016-11-02 17:06:11 · 291 阅读 · 0 评论 -
多线程程序中操作的原子性
0. 背景原子操作就是不可再分的操作。在多线程程序中原子操作是一个非常重要的概念,它常常用来实现一些同步机制,同时也是一些常见的多线程Bug的源头。本文主要讨论了三个问题:1. 多线程程序中对变量的读写操作是否是原子的?2. 多线程程序中对Bit field(位域)的读写操作是否是线程安全的?3. 程序员该如何使用原子操作?1. 多线程环境下对变量的读写操作是否是原子的?我们先从一转载 2017-10-22 17:06:41 · 664 阅读 · 0 评论