06 2016 档案
摘要:为了方便园友系统学习操作系统,现将操作系统六篇博文的目录整理如下: 1. 【操作系统】操作系统综述(一) 2. 【操作系统】进程管理(二) 3. 【操作系统】处理机调度与死锁(三) 4. 【操作系统】存储器管理(四) 5. 【操作系统】设备管理(五) 6. 【操作系统】文件管理(六) 谢谢各位园友的
阅读全文
摘要:一、前言 本篇是操作系统系列的最后一篇,文件管理,由于系统的内存有限并且不能长期保存,故平时总是把它们以文件的形式存放在外存中,需要时再将它们调入内存。如何高效的对文件进行管理是操作系统实现的目标。 二、文件和文件系统 现代OS几乎都是通过文件系统来组织和管理在计算机中所存储的大量程序和数据的。文件
阅读全文
摘要:一、前言 学习了存储器管理后,继续学习设备管理,设备管理的主要功能有缓冲区管理、设备分配、设备处理、虚拟设备及实现设备独立性等,由于I/O设备不仅种类繁多,而且他们的特性和操作方式往往相差甚大,使得设备管理称为操作系统中最繁杂且与硬件最紧密的部分,下面开始正式的学习。 二、I/O系统 2.1 I/O
阅读全文
摘要:一、前言 在分析了处理器调度后,接着分析存储器管理,如何对存储器进行有效的管理,直接影响着存储器的利用率和系统性能。下面,开始存储器管理的学习。 二、存储器的层次结构 2.1 主存储器 主存储器是计算机系统中的一个主要部件,用于保存进程运行时的程序和数据,CPU的控制部件只能从主存储器中取得指令和数
阅读全文
摘要:一、前言 前面介绍了进程与线程的相关概念,现在继续学习处理机调度,处理机是系统最重要的资源,提高处理机的利用率和改善系统性能,在很大程度上取决于处理机调度性能的好坏,下面来介绍处理的调度以及死锁的问题。 二、处理机调度的层次 2.1 高级调度 高级调度又称为作业调度或长程调度,主要功能是根据某种算法
阅读全文
摘要:一、前言 之前已经介绍了操作系统的各个模块,现在来具体深入学习操作系统中的进程管理。 二、进程的基本概念 在未配置OS的系统中,程序的执行方式是顺序执行,即必须在一个程序执行完成后,才允许另外一个程序执行;在多道程序环境下,则允许多个程序并发执行。也正是程序的并发执行,才导致引入进程。 2.1 程序
阅读全文
摘要:一、前言 分析完适配器模式后,接着看外观模式,外观模式很简单,可以理解为在复杂系统上封装了一层,提供了统一的接口,而让客户端只需要与该接口通信便可控制背后复杂的系统。 二、外观模式定义 定义:提供了统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。 从定义可知,外观
阅读全文
摘要:一、前言 接着看设计模式,今天介绍的是适配器模式,适配器对于大家应该不陌生,就是适配两种不同类型的物体。如两孔插座和三孔插头之间就需要用到适配器才能正常工作,而在程序世界中,也存在着适配器,下面来分析适配器模式。 二、适配器模式定义 定义:将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口
阅读全文
摘要:一、前言 JUC这部分还有线程池这一块没有分析,需要抓紧时间分析,下面开始ThreadPoolExecutor,其是线程池的基础,分析完了这个类会简化之后的分析,线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增强的性能,并且还可以提供绑定和管理资源(包
阅读全文
摘要:一、前言 读完单例模式,接着品命令模式,命令模式在工程实践中有应用,如MVC框架中使用了命令模式,还有日志系统(从异常中恢复)和事务系统都可以使用命令模式,命令模式可以解耦命令请求者和命令执行者,下面开始学习命令模式。 二、命令模式定义 定义:命令模式将请求封装成对象,以便使用不同的请求、队列或者日
阅读全文
摘要:一、前言 端午小长假冷不丁的就完了,那么接着品设计模式,今天要介绍的设计模式是单例模式,单例模式在编程中的使用很广泛,如线程池、缓存等都可采用单例模式来保证整个系统只有一个实例。然而,如何保证只有唯一一个实例是值得探讨的问题,下面开始介绍单例模式。 二、单例模式定义 定义:确保一个类只有一个实例,并
阅读全文
摘要:一、前言 本篇是在分析Executors源码时,发现JUC集合框架中的一个重要类没有分析,SynchronousQueue,该类在线程池中的作用是非常明显的,所以很有必要单独拿出来分析一番,这对于之后理解线程池有很有好处,SynchronousQueue是一种阻塞队列,其中每个插入操作必须等待另一个
阅读全文
摘要:一、前言 接着继续品读设计模式,下面介绍装饰者模式,装饰者模式在JAVA中的应用相当的广泛,如JAVA IO框架就是装饰者模式的典型应用,当时最开始使用JAVA IO时,简直是一团雾水,不明白读文件为什么需要用到这么多类,觉得很复杂,后来看了装饰者模式之后,再来看JAVA IO,则简单多了。下面,就
阅读全文
摘要:一、前言 前面学习了策略模式,接着学习观察者模式,观察者模式是一个很常用的模式,如订阅RSS这个功能就适合使用观察者模式来实现,园友订阅了博客园文章后,当博客园的文章有更新时,会收到相应的通知,这就是观察者模式的应用,并且JDK中都内置了对观察者模式的支持,下面来学习观察者模式。 二、观察者模式定义
阅读全文
摘要:一、前言 在分析完了JUC的锁和集合框架后,下面进入JUC线程池框架的分析,下面给出JUC线程池的总体框架,之后再逐一进行分析。 二、JUC线程池框架图 说明:从上图可知,JUC线程池框架中的其他接口或类都直接或间接的继承了Executor接口,虽然Executors与其他类或者接口没有明显的关系,
阅读全文
摘要:JUC集合框架的目录整理如下: 1. 【JUC】JUC集合框架综述 2. 【JUC】JDK1.8源码分析之ConcurrentHashMap(一) 3. 【JUC】JDK1.8源码分析之ConcurrentSkipListMap(二) 4. 【JUC】JDK1.8源码分析之ArrayBlocking
阅读全文
摘要:一、前言 分析完了CopyOnWriteArraySet后,继续分析Set集合在JUC框架下的另一个集合,ConcurrentSkipListSet,ConcurrentSkipListSet一个基于 ConcurrentSkipListMap 的可缩放并发 NavigableSet 实现。set
阅读全文
摘要:一、前言 分析完了CopyOnWriteArrayList后,下面接着分析CopyOnWriteArraySet,CopyOnWriteArraySet与CopyOnWriteArrayList有莫大的联系,因为CopyOnWriteArraySet的底层是由CopyOnWriteArrayList
阅读全文
摘要:一、前言 由于Deque与Queue有很大的相似性,Deque为双端队列,队列头部和尾部都可以进行入队列和出队列的操作,所以不再介绍Deque,感兴趣的读者可以自行阅读源码,相信偶了Queue源码的分析经验,Deque的分析也会水到渠成,下面介绍List在JUC下的CopyOnWriteArrayL
阅读全文