宏内核和微内核宏内核宏内核是将操作系统功能作为一个紧密结合的整体放到内核。由于各模块共享信息,因此有很高的性能。
在宏内核架构当中,内核管理着 CPU 调度,内存管理,文件管理和系统调用等各模块的的工作,由于用户服务和内核服务被实现在同一空间中,这样在执行速度上要比微内核快。然而,宏内核的劣势也是显而易见的,那就是当内核中的某个服务崩溃了,整个内核也会崩溃。另外,想要在内核中添加新的功能就意味着内核中的各个模块需要做相应的修改,因此其扩展性很弱。
微内核由于操作系统不断复杂,因此将一部分操作系统功能移出内核,从而降低内核的复杂性。移出的部分根据分层的原则划分成若干服务,相互独立。运行过程...
操作系统的基本特征操作系统的基本特征操作系统的四个基本特征:并发,共享,异步,虚拟。
并发
并发是指宏观上在一段时间内能同时运行多个程序,而每一时刻,单处理器环境下实际仅能有一道程序执行,故微观上这些程序还是在分时的交替执行。
并行则指同一时刻能运行多个指令。并行需要硬件支持,如多流水线、多核处理器或分布式计算系统。
操作系统通过引入进程和线程,使得程序能够并发运行。
共享
共享是指系统中的资源可以被多个并发进程共同使用,而不是被其中一个进程独占。
有两种共享方式:互斥共享和同时共享(互斥访问和同时访问)。
互斥共享的资源称为临界资源,例如打印机等,在同一时刻只允许一个进程访问,需要...
哈夫曼编码1、哈夫曼编码简介哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码。
哈夫曼编码,主要目的是根据使用频率来最大化节省字符(编码)的存储空间。
2、哈夫曼编码的具体步骤
将字符的顺序按字符出现的概率降序排列。
把两个最小的概率相加,并继续这一步骤,始终将较高的概率分支放在右边,直到最后变成概率1。
画出由概率1处到每个信源符号的路径,顺序记下沿路径的0和1,所得就是该符号的霍夫曼码字。
...
UML-四种事物UML中有 4 种事物:
结构事物
行为事物
分组事物
注释事物
结构事物(structural thing)结构事物通常是模型的静态部分,描述概念或物理元素。
类(class)
类是具有相同属性、相同操作的一组对象的集合的抽象描述。在图形上,类用一个矩形来表示,通常矩形中写有类的名称、类的属性和类的操作。
组件(component)
组件是系统中物理的、可替代的部件,是一个描述了一些逻辑元素(如类、接口)的物理包。在图形上,组件由一个带有小方框的矩形表示。通常在矩形中只写该组件的名字。
接口(interface)
接口是描述了一个类或组件的一个服务的操...
感觉媒体、表示媒体、表现媒体、存储媒体和传输媒体 媒体分为感觉媒体、表示媒体、表现媒体、存储媒体和传输媒体
感觉媒体感觉媒体指的是能直接作用于人们的感觉器官,从而能使人产生直接感觉的媒体。如文字、数据、声音、图形、图像等。在多媒体计算机技术中,我们所说的媒体一般指的是感觉媒体。
表示媒体表示媒体指的是为了传输感觉媒体而人为研究出来的媒体,借助于此种媒体,能有效地存储感觉媒体或将感觉媒体从一个地方传送到另一个地方。如语言编码、电报码、条形码等。
表现媒体表现媒体指的是用于通信中使电信号和感觉媒体之间产生转换用的媒体。如输入、输出设备,包括键盘、鼠标、显示器、打印机等。
存储媒体存储媒体指...
DMZ1、DMZ简介DMZ 是指非军事化区,也称为周边网络,可以位于防火墙之外也可以位于防火墙之内。非军事化区一般用来放置提供公共网络服务的设备,这些设备由于必须被公共网络访问,所以无法提供与内部网络主机相等的安全性。
2、DMZ作用WEB,E-mail 等允许外部访问的服务器单独接在 DMZ 端口,使整个需要保护的内部网络接在信任区端口后,不允许任何访问,实现内外网分离,达到用户需求。
3、DMZ出现的原因在实际的运用中,某些主机需要对外提供服务,为了更好地提供服务,同时又要有效地保护内部网络的安全,将这些需要对外开放的主机与内部的众多网络设备分隔开来,根据不同的需要,有针对性地采取相...
Flynn分类法Flynn 主要根据指令流和数据流来分类,分为四类:
单指令流单数据流(SISD)SISD 机器是一种传统的串行计算机,它的硬件不支持任何形式的并行计算,所有的指令都是串行执行,并且在某个时钟周期内,CPU 只能处理一个数据流。因此这种机器被称作单指令流单数据流机器。早期的计算机都是 SISD 机器。
单指令流多数据流(SIMD)SIMD 是采用一个指令流处理多个数据流。这类机器在数字信号处理、图像处理以及多媒体信息处理等领域非常有效。人们现在用的单核计算机基本上都属于 SIMD 机器。
多指令流单数据流(MISD)MISD 是采用多个指令流来处理单个数据流。在实际...
UML-时序图时序图的概念时序图定义:描述了对象之间传递消息的时间顺序,用来表示用例中的行为顺序,是强调消息时间顺序的交互图。
时序图描述的事物:时序图描述系统中类和类之间的交互,将这些交互建模成消息交换,时序图描述了类以及类之间的交换以完成的期望行为的消息,时序图中每条消息都代表了类的一个操作或者引起状态机改变的触发事件。
时序图表示:参与交互的对象在时序图顶端水平排列,每个对象的底端绘制了一条垂直虚线,对象A像对象B发送消息,用一条带箭头的实线表示,该实线起始于对象A底部的虚线,终止于对象B底部的虚线;实线箭头水平放置,越靠近顶端越早被发送。
时序图轨迹:时序图提供了随时间推移的,清...
UML-类图泛化关系 (Generalization)用来描述继承关系,在 Java 中使用 extends 关键字。
泛化关系由带空心三角形的实线来表示。如下图所示:Car 与 Trunck 继承 Vihical。
实现关系 (Realization)用来实现一个接口,在 Java 中使用 implements 关键字。
实现关系由带空心三角形的虚线来表示。如下图所示:Fly 与 Run 实现了 MoveBehavior 接口。
聚合关系 (Aggregation)表示整体由部分组成,但是整体和部分不是强依赖的,整体不存在了部分还是会存在。
聚合关系由带空心菱形的实线表示。...
有关面向对象的一些总结1、面向过程的思想和面向对象的思想面向对象和面向过程的思想有着本质上的区别。
对于面向过程的思维来说,当你拿到一个问题时,你分析这个问题应该是第一步先做什么,第二步再做什么。
但对于面向对象的思维来说,第一步你应该分析这个问题里面有哪些类和对象,第二步再分析这些类和对象应该具有哪些属性和方法。。第三步分析类和类之间具体有什么关系。
面向对象有一个非常重要的设计思维:合适的方法应该出现在合适的类里面。
2、面向对象的设计思想从现实世界中客观存在的事物出发来构造软件系统,并在系统的构造中尽可能运用人类的自然思维方式。
3、类和对象对象是用于计算机语言对问题中事物的描述,...