自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(7)
  • 收藏
  • 关注

原创 Linux内核读取文件流程源码及阻塞点超详解

以linux内核3.13版本为例,首先内核通过系统调用read(),执行sys_read()函数,在文件linux/fs/read_write.c中://linux/fs/read_write.cSYSCALL_DEFINE3(read, unsigned int, fd, char __user *, buf, size_t, count){ struct fd f = fdget(fd

2018-01-30 21:12:19 2653 1

原创 Linux文件系统的页缓存

Linux系统内核为文件提供了一个缓存,目的是将一些磁盘上的数据缓存到RAM中,这样可以加快文件数据的访问——给定inode索引节点和文件页面偏移量时,可以快速地找到RAM中相应的文件页内容。这个能在称为页缓存(page cache)。使用页缓存的I/O操作称为buffer I/O,默认情况下内核都使用的是buffer I/O,但是有的应用(如数据库)不希望使用内核缓存,而是由应用提供缓存,这种由应

2018-01-26 19:02:15 2163

原创 Linux内核等待队列详解

等待队列用于管理应等待某个条件成立或者事件发生而防人之心不可无的进程。进程发出的请求暂时无法满足的时候,需要将进程阻塞直到条件成立。内核将因相同原因而阻塞的进程集中在一个队列上,该队列就是等待队列,对于每个需要等待的事件都有一个相应的等待队列。等待队列采用链表的方式来存储,各个阻塞进程作为节点存储在链表中。链表头的类型是wait_queue_head_t,节点类型为wait_queue_t,如下所

2018-01-25 16:45:34 2183

原创 Linux向进程发送信号及执行信号处理函数的时机

Linux内核中由于不同原因(例如非法地址、按下Ctrl+C、用户进程系统调用等等)向进程发送信号的函数调用路径最后公用的函数是send_signal(),这个函数位于linux-3.13/kernel/signal.c文件中。这个函数接下来的调用链为complete_signal()->signal_wake_up()->signal_wake_up_state()->wake_up_state

2018-01-23 21:16:59 1790

原创 Linux内核进程调度函数schedule()的触发和执行时机

内核的调度操作分为触发和执行两个部分,触发时仅仅设置一下当前进程的TIF_NEED_RESCHED标志,执行的时候则是通过schedule()函数来完成进程的选择和切换。当前进程的thread_info->flags中TIF_NEED_RESCHED位表示需要调用schedule()函数进行调度。内核在两种情况下会设置该标志,一个是在时钟中断进行周期性的检查时,另一个是在被唤醒进程的优先级比正在运行

2018-01-22 20:07:42 2126 3

原创 CPU缓存实现方式:VIVT、VIPT和PIPT

处理器在进行存储器访问时,处理器访问的是虚拟地址,经过TLB和MMU的映射,最终变成了物理地址。那么在查询cache组的时候,需要使用虚拟地址的索引域或者物理地址的索引域(Index),同样地,在查询到cache组之后,可以使用虚拟地址的标记域或者物理地址的标记域(Tag)来匹配cache line. cache可以设计成通过虚拟地址或者物理地址来访问,这个在处理器设计的时候已经确定下来,可以分成如

2018-01-05 13:22:14 10408

原创 Jackson @JsonView注解自定义返回POJO类的字段

Jackson在Spring框架中可以用来将数据以JSON的格式返回给客户端,@JsonView注解可以作用在POJO类的属性上,用来自定义返回的类的字段,比如一个用户类,有时只需要返回ID,有时却需要返回ID和姓名:public class User { public interface IDView {}; public interface IDAndNameView exten

2018-01-04 14:47:33 2239

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除