自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 JDK集合分析(二):LinkedList

单列集合之LinkedListLinkedList底层实现了双向链表和双端队列,维护了两个属性first和last,分别指向首节点和尾结点。每个节点(Node对象),里面又维护了prev、next、item三个属性,其中通过prev指向前一个,通过next指向后一个节点,最终实现双向链表。因此LinkedList的元素的添加和删除不是通过数组完成相对效率较高。可以添加任意元素(可重复),包括null且线程不安全。 private static class Node<E> ..

2021-05-28 13:59:55 95

原创 JDK集合分析(一):ArrayList

集合集合主要分为两组(单列集合和双列集合),collection接口有两个子接口,实现的子类均为单列集合。Map接口的实现的子类均为双列集合单列集合之ArrayListArrayList底层是由数组实现的,允许加入null(多个也允许),线程不安全,下图以ArrayList的add方法为例,可见并没有做线程同步。public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments m

2021-05-23 23:54:43 240

原创 Linux内核分析(九)——总结篇

何天杨+ 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000一、Linux内核分析目录1. Linux内核分析(一):计算机工作原理   本节简述了计算机的工作原理,冯诺依曼架构。   CPU将内存中的代码和数据读取到自己的寄存器中,再根据一条条命令调用寄存器进行进一步的操作;同时,老

2017-04-23 16:15:20 373

原创 Linux内核分析(八):Linux进程调度的时机和进程切换

何天杨+ 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000一、进程调度简析   Linux的调度基于分时技术:所谓的分时就是指将时间划分成很小很小的片段,然后每个片段都相对公平的分给这一时刻需要执行的任务。这就我们所说的时间片调度。比如现在有是10个任务需要同时进行,每个任务都必须在1s内得

2017-04-16 23:37:36 1507

原创 Linux内核分析(七):可执行程序的装载

何天杨+ 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000一、可执行文件(程序)1.1什么是可执行文件  可执行文件包括被执行的函数目标代码和一些数据,在程序中很多的函数实际上都是我们可以使用的服务例程,他们就是我们通常意义上说的库文件(比如说C库)。实际上,一个库文件他的代码在程序执行时候

2017-04-09 22:42:22 345

原创 Linux内核分析(六):进程的描述和进程的创建

何天杨+ 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000一、Linux中的进程简析进程是具有多道程序设计的操作系统的基本概念,关于进程的定义就是程序执行的一个实例,也是系统资源调度的最小单位。如果同一个程序被多个用户同时运行,那么这个程序就有多个相对独立的进程,与此同时他们又共享相同的执行

2017-04-02 22:30:55 1636

原创 Linux内核分析(五):系统调用深入分析

何天杨+ 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000这周的实验在上周实验四的基础上,进一步的操作: 1.将系统调用函数getppid命令加入menuos中 2.通过gdb跟踪sys_getppid系统调用执行的完整过程步骤:给MenuOS增加getpid和getpid-asm命令

2017-03-26 22:12:36 746

原创 Linux内核分析(四):系统调用,用户态及内核态

何天杨+ 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000一、什么是系统调用 linux内核中设置了一组用于实现系统功能的子程序,称为系统调用。系统调用和普通库函数调用非常相似,只是系统调用由操作系统核心提供,运行于核心态,而普通的函数调用由函数库或用户自己提供,运行于用户

2017-03-19 10:47:14 6684

原创 Linux内核分析(三):构造一个简单的Linux系统MenuOS

何天杨+ 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000一、操作系统的启动 最初计算机依靠一段二进制码来启动,并不是真正的计算机启动程序。计算机在开始加电的时候不具备工作能力,此时RAM芯片中包括的都是一些没有意义的随机数据,而没有操作系统在运行。在开始启动的时候,一个特

2017-03-12 21:16:49 1897

原创 Linux内核分析(二):操作系统如何工作

何天杨+ 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一、计算机系统是怎么样工作 计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构

2017-03-05 21:11:31 325

原创 Linux内核分析(一):计算机工作原理

何天杨+ 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一、计算机是如何工作的 现代计算机大都采用冯诺依曼结构,冯诺依曼结构是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,所以计算机在运行的时候

2017-02-26 20:52:47 687

空空如也

空空如也

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

TA关注的人

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