@zongwu
2017-06-22T01:31:57.000000Z
字数 1604
阅读 376
软件架构师
操作系统:是计算机系统中的核心系统软件,负责管理和控制计算机系统中硬件和软件资源,合理地组织计算机工作流程和有效利用资源,在计算机与用户之间起接口的作用。
根据使用环境和对作业的处理方式,操作系统可分为:批处理、分时、实时、网络、分布式操作系统。
批处理系统的主要特征:有用户脱机使用计算机、成批处理、多道程序运行。
分时系统的主要特征:交互性、多用户同时性和独立性。
实时操作系统的主要特征:即时响应、高可靠性。
网络操作系统的主要特征:互操作性、协作处理。
分布式操作系统的主要特征:【待整理】。
无论何种操作系统都应具备5个基本功能:处理器管理、存储管理、设备管理、文件管理、作业管理。
操作系统的结构可以分为:无序结构、层次结构、面向对象、对称多处理结构、微内核结构。
无序结构(整体结构、模块组合结构):面向过程的操作系统,主要理由模块化设计来解耦。
层次结构:面向大型系统分解若干单向依赖的层次,如:MVC、MVP、MVVM等。
面向对象结构:适用于网络操作系统和分布式操作系统。
对称多处理结构:系统中的所有处理机运行且共享同一内存(内存储器、主存、实存)。
微内核结构:把系统的公共部分抽象出来,形成底层核心。提供最基本的服务,其它功能以服务器的形式建立在微内核之上。如:gulp符合微内核的架构,自身提供5个基本function用于定义任务、调度时机,其它服务由plugin实现。
原文是“结构”但总是觉得词不达意,理解成“架构”更恰当。
静态角度:进程由程序、数据、进程控制块(Process Control Block,PCB)组成。
动态角度:进程是计算机状态的有序集合。
PCB是进程存在的唯一标志,描述了进程的基本情况。主要分为:调度信息和执行信息两部分。
三态模型假设所有进程都在内存中,但实际上可能出现由于进程不断创建,导致系统已不能满足进程运行的要求。这时候就必须挂起某些进程,对换到磁盘中(序列化写到本地,释放占用的内存)。
在操作系统中,进程之间经常会存在互斥和同步两种关系。为了有效处理这两者,提出了信号量和PV操作。
P(信号量)
...
----临界区----
...
V(信号量)
同步控制可以理解成为上述互斥控制的演化。
进程A | 进程B
... | ...
... | void pay();
P(信号量) | V(信号量)
... | ...
需求是在B执行pay()完成之前,不允许进程A执行P(信号量)以下的方法。则我们需要设置S=0,这样需要依赖V操作,这样P操作才不会阻塞。
上面这个例子赋予一定的语义,就可以理解为最简单的生产消费模式。如:进程B先使用支付购买了提货券,然后进程A使用提货券进行消费。
信号量的初值表示资源的可用数,如信号量初值=0,则会先做V操作。