
系统架构&Web架构&Native架构
此间的年少
三人行必有我师不积跬步无以致千里不积小流无以成江海成临渊羡鱼不若退而结网
展开
-
中断、异常和系统调用
所谓中断是指CPU对系统发生的某个事件做出的一种反应,CPU暂停正在执行的程序,保留现场后自动地转去执行相应的处理程序,处理完该事件后再返回断点继续执行被“打断”的程序。中断可分为三类,第一类是由CPU外部引起的,称作中断,如I/O中断、时钟中断、控制台中断等。第二类是来自CPU的内部事件或程序执行中的事件引起的过程,称作异常,如由于CPU本身故障(电源电压低于105V或频率在47~63H转载 2013-08-09 11:36:16 · 1232 阅读 · 0 评论 -
系统调用如何实现
系统调用的实现与一般过程调用的实现相比,两者间有很大差异。对于系统调用,控制是由原来的用户态转换为系统态,这是借助于中断和陷入机制来完成的,在该机制中包括中断和陷入硬件机构及中断与陷入处理程序两部分。 中断和陷入硬件机构 图1所示为中断的处理过程。中断可进一步分为外中断和内中断。外中断是指由于外部设备事件所引起的中断,如通常的磁盘中断、打印机中断等;而内中断则是指由于CPU内部事件所引转载 2013-11-29 15:41:50 · 4636 阅读 · 1 评论 -
系统调用的实现及调用过程
我们在编程时用到的很多函数,如fork、open等这些函数最终都是在系统调用里实现的,比如说我们有这样一个程序:这里我们用到了两个函数,即fork和exit,这两函数都是glibc中的函数,但是如果我们跟踪函数的执行过程,看看glibc对fork和exit函数的实现就可以发现在glibc的实现代码里都是采用软中断的方式陷入到内核中再通过系统调用实现函数的功能的。具体过程我们在系统调转载 2013-11-29 15:42:48 · 3151 阅读 · 0 评论 -
理解Windows内核模式与用户模式
内核层次架构windows程序运行分为内核模式和用户模式,内核模式可以访问所有的内存地址空间, 并且可以访问所有的CPU指令。一般程序运行在用户模式, 通过系统调用切换到内核模式执行系统功能,Windows系统通过这种方式来确保系统的安全和稳定。下面是内核的层次划分:硬件抽象层(Hardware Abstraction Layer) (HAL) (hal.dll)转载 2013-11-29 16:26:59 · 1419 阅读 · 0 评论 -
DOs历史
DOS是历史上一个划时代的产品,标识着PC(个人电脑)的崛起和普及,对计算机行业影响深远。只有了解DOS的历史,才能理解今天的计算机工业从何而来。下面就是我对这一段历史的介绍。==========================================DOS的历史作者:阮一峰1.1974年4月,Intel推出8位芯片8080。这块芯片的体积和性能,已经能够满足开转载 2013-12-09 14:13:22 · 978 阅读 · 0 评论 -
QNX、RTLinux、uC/OS-II、Nucleus Plus、VRTX、VxWorks、eCos的相互比较
QNX、RTLinux、uC/OS-II、Nucleus Plus、VRTX、VxWorks、eCos的相互比较 到目前为止接触过QNX、RTLinux、uC/OS-II、Nucleus Plus、VRTX、VxWorks、eCos,总结下来有以下特点:1:QNX的可靠性很好,协议栈、各种外设驱动稳定,只是运行所需资源有些多,需要MMU。如果需要高可靠性应用,QNX可能是最转载 2014-04-18 16:19:38 · 1635 阅读 · 0 评论 -
实时系统
批处理系统(MVX、DOS/VSE)、分时系统(WINDOWS、UNIX、XENIX、Mac OS)、实时系统(iEMX、VRTX、RTOS,RT Linux); 根据所支持的用户数目,可分为单用户(MSDOS、 OS/2)、多用户系统(UNIX、MVS、Windows); 根据硬件结构,可分为网络操作系统(Netware、Windows NT、 OS/2 warp)、分布式系统(原创 2014-04-18 16:18:49 · 958 阅读 · 0 评论 -
剖析Windows系统服务调用机制
一> 序言 Windows系统服务调用是存在于Windows系统中的一个关键接口,常常称作System Call ,Sysem Service Call 或 System Service Dispatching等,在此我们就权且称之为Windows系统服务调用,它提供了操作系统环境由用户态切换到内核态的功能。虽然在国外关于Windows系统服务调用的讨论比较多,但却很少看到比较详细的原创 2014-06-27 17:15:23 · 1000 阅读 · 0 评论 -
操作系统认知 (1)
操作系统基本组成1、内核原创 2014-07-01 10:54:00 · 714 阅读 · 0 评论 -
三种主流Web架构
做WEB好几年了,各种语言和技术都稍有涉猎。今天心血来潮,突然想总结一下。其实不论什么技术,什么需求,通常WEB开发就是通过WEB前端管理一个或大或小或独立或分布式的关系型数据库,很多东西都是相通的。这里说的WEB架构,是指WEB应用开发中每种技术独有的资源组织形式(包括文件,数据库,HTTP请求处理等。注意并非OO的开发方式才有架构一说),也许说开发方式更容易让人理解一些。以下想法主要以转载 2016-05-13 15:48:51 · 26223 阅读 · 0 评论 -
Web负载均衡的几种实现方式
摘要:负载均衡(Load Balance)是集群技术(Cluster)的一种应用。负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力。目前最常见的负载均衡应用是Web负载均衡。根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询、IP负载均衡和CDN。其中IP负载均衡可以使用硬件设备或软件方式来实现。什么是web负载均衡服转载 2016-07-14 14:38:55 · 1205 阅读 · 0 评论 -
标准Web系统的架构分层
– 转载请注明出处1、架构体系分层图架构体系的分层描述在上图中我们描述了Web系统架构中的组成部分。并且给出了每一层常用的技术组件/服务实现。需要注意以下几点:系统架构是灵活的,根据需求的不同,不一定每一层的技术都需要使用。例如:一些简单的CRM系统可能在产品初期并不需要K-V作为缓存;一些系统访问量不大,并且可能只有一台业务服务器存在,所以不需要运用负载均衡层。业务系统间通信层并没有加入传统的HT转载 2016-07-16 13:16:21 · 1035 阅读 · 0 评论 -
23种设计模式全解析
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式转载 2016-10-15 20:53:38 · 4630 阅读 · 0 评论 -
x86和X64
x86是对基于intel处理器的系统的标准缩写。X与处理器没有任何关系,它是一个对所有*86系统的简单的通配符定义,是一个intel通用计算机系列的编号,也标识一套通用的计算机指令集合,由于早期intel的CPU编号都是如8086,80286来编号,由于这整个系列的CPU都是指令兼容的,所以都用X86来标识所使用的指令集合如今的奔腾,P2,P4,赛扬系列都是支持X86指令系统的,所以都属于X86家转载 2013-11-29 11:43:03 · 898 阅读 · 0 评论 -
用户模式和内核模式
运行 Windows 的计算机中的处理器有两个不同模式:“用户模式”和“内核模式”。根据处理器上运行的代码的类型,处理器在两个模式之间切换。应用程序在用户模式下运行,核心操作系统组件在内核模式下运行。多个驱动程序在内核模式下运行,但某些驱动程序在用户模式下运行。当启动用户模式的应用程序时,Windows 会为该应用程序创建“进程”。进程为应用程序提供专用的“虚拟地址空间”和专用的“句柄表格”。转载 2013-11-29 16:29:48 · 1457 阅读 · 0 评论 -
系统调用:系统调用的实现
7.3.3 系统调用的实现 1. 中断和陷入硬件机构 (1) 什么是中断和陷入。 中断是指CPU对系统发生某事件时的这样一种响应:CPU暂停正在执行的程序,在保留现场后自动地转去执行该事件的中断处理程序;执行完后,再返回到原程序的断点处继续执行。 (2) 中断和陷入向量。 2. 系统调用号和参数的设置 (1) 直接将参数送入相应的寄存器中。 (2)转载 2013-11-29 15:48:15 · 1027 阅读 · 0 评论 -
系统调用原理
1什么是系统调用 系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。从逻辑上来说,系统调用可被看成是一个内核与用户空间程序交互的接口——它好比一个中间人,把用户进程的请求传达给内转载 2013-08-11 16:53:38 · 788 阅读 · 0 评论 -
什么叫实时操作系统,什么叫非实时操作系统,两者有什么区别?
嵌入式实时系统中采用的操作系统我们称为嵌入式实时操作系统,它既是嵌入式操作系统,又是实时操作系统。作为一种嵌入式操作系统,它具有嵌入式软件共有的 可裁剪、低资源占用、低功耗等特点;而作为一种实时操作系统(本文对实时操作系统特性的讨论仅限于强实时操作系统,下面提到的实时操作系统也均指强实时操 作系统),它与通用操作系统(如Windows、Unix、Linux等)相比有很大的差别,下面我们将通过比较这转载 2013-08-11 15:14:22 · 1498 阅读 · 0 评论 -
cs软硬件架构
CS不仅在软件中,软件是建立在硬件的基础上,软件是硬件的头脑。上下位机是CS模式架框之一,server只为一台Client服务,在web中有多个client ,上下位机在工控中广泛使用,server端处于从属地位,提供服务web中也是如此银行票据机:在工业控制和生产中有上下位机之区别,普遍存在,有一台主导的机子,其他属于从属的位置,金融产品中机柜中广泛使用此类上下位原创 2013-09-01 17:08:25 · 1288 阅读 · 0 评论 -
系统API--机制剖析
封装与运行方式1、系统API都是是由汇编中断而成;2、运行于系统中的dll提供 3、运行于系统中的dll ,dll中采用中断方式(大部份系统采用此方式)windows系统APIGDI便是中间一个,运行于系统中,与之相同的还有DirectX原创 2013-11-20 20:48:20 · 960 阅读 · 0 评论 -
多线程之间及多进程间的通信
线程间通信window平台:方式一: 全局变量volatile方式二:原创 2013-11-15 17:43:23 · 2851 阅读 · 0 评论 -
ATMC如何来操作硬件?
在国内ATM行业很多人对ATMC软件是怎样来操作硬件是不熟悉的。但是,无论你是硬件工程师、软件工程师还是业务销售,如果知道软硬件是怎样交互,对于工作是将有很大帮助。很多硬件工程师和业务销售对这方面不熟悉倒是可以想到的,其实绝大部分的软件工程师也一样懵懵懂懂,因为对于象Diebold、NCR这样的国外公司,操作底层硬件的部分都被国外封装起来,所以也不会真正的知道,导致能够同时理解上层应用和底层硬件的转载 2013-09-25 22:42:40 · 1618 阅读 · 0 评论 -
C++/CLR 概念原理
一、CLI简介 CLI:(Common Language Infrastructure,通用语言框架)提供了一套可执行代码和它所运行需要的虚拟执行环境的规范。更通俗的我们可以说它是一个虚拟平台,是操作系统和应用程序间的一层抽象。微软的.NET的基础CLR(Common Language Runtime,通用语言运行时)就是CLI的一个实例。 CLI主要的组成部分有:CTS,Met转载 2013-07-16 15:14:51 · 5544 阅读 · 0 评论 -
JVM Management API
JVM本身提供了一组管理的API,通过该API,我们可以获取得到JVM内部主要运行信息,包括内存各代的数据、JVM当前所有线程及其栈相关信息等等。各种JDK自带的剖析工具,包括jps、jstack、jinfo、jstat、jmap、jconsole等,都是基于此API开发的。本篇对这部分内容进行一个详细的说明。 参考:http://java.sun.com/javase/6/doc转载 2013-08-09 11:27:47 · 664 阅读 · 0 评论 -
c++CLR 试例
机制介绍有些时候主程序是通过C/C++实现的,但是我们希望通过托管代码来扩展非托管程序,从而也获得托管代码带来的一系列优点。比如开发效率高,自动垃圾回收等。运行托管与非托管代码根本区别在于托管代码是进程首先加载CLR然后通过CLR运行托管程序,而非托管代码则是操作系统直接根据其PE Header加载程序分配内存从而运行。因此如果需要通过托管代码来扩展非托管程序,首先要加载CLR来使非托管程原创 2013-07-16 15:13:48 · 2111 阅读 · 0 评论 -
C++开发.net 应用
一,建立一般的c++的console32的project ,name: Test ,工程setting使用默认,不改变.如下:二,add header file: ManagedCppClass.h#pragma onceclass ManagedCppClass{public: void PrintString(); };三,add原创 2013-07-16 14:26:19 · 1141 阅读 · 0 评论 -
WINNT内核
一、直观认识Windows分析一个软件,最容易的入手方法就是先搞清楚它的每个文件都是干嘛的。我们先来让大家对自己正在使用的Windows 操作系统有个直观认识。请在你使用的Windows 2000或Windows XP上,于WINNT/system32或Windows/system32目录(系统目录)下,找到以下几个文件:HAL.DLL、NTOSKRNL.EXE、NTDLL.DLL、KERNE转载 2013-11-26 15:38:16 · 1371 阅读 · 0 评论 -
装饰者模式
装饰模式定义:装饰模式动态的将责任附加到对象上,若要扩展功能,装饰模式提供了比继承更有弹性的替代方案看下下面的例子,总共有两种咖啡:Decaf、Espresso,另有两种调味品:Mocha、Whip(3种设计的主要差别在于抽象方式不同)设计一:即使添加在多的调味品,咖啡依然是咖啡,在抽象的过程中并没有考虑咖啡和调味品之间的关系当咖啡和调味品的种类很多时,将会产生大量的类,如果一转载 2016-10-17 09:51:16 · 1212 阅读 · 0 评论