- 主要学习操作系统基础知识、数据库系统基础知识。
1. 操作系统基础知识
- 操作系统式计算机系统种的核心系统软件,负责管理和控制计算机系统种硬件和软件资源,合理地组织计算机工作流程和有效地利用资源,在计算机与用户之间起接口作用的。
操作系统的特征
- 并发性 concurrency
- 共享性 sharing
- 虚拟性 virtual
- 不确定性 non-determinacy
操作系统的功能
- 进程管理
- 文件管理
- 存储管理
- 设备管理
- 作业管理
典型的操作系统
批处理操作系统
- 原理:通过把用户提交的作业分类,将一批中的作业编成一个作业执行序列
分类批处理
联机批处理
脱机批处理
- 特征:用户脱机使用计算机、成批处理、多道程序运行
分时操作系统
- 原理:采用分时技术,十多个用户同事以绘画方式控制自己程序的运行,每个用户都感到似乎各自有一台独立的、支持自己请求服务的系统。分时技术把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。若某个作业在分配给它的时间片内不能完成计算,则该作业暂时中断,把处理机让给另一个作业使用,等待下一轮时再继续运行。
特征
- 交互性
- 多用户同时性
- 独立性
实时操作系统
- 原理:实时操作系统往往是专用的,系统与应用很难分离,紧密结合在一起,实时系统不强调资源利用率,而是关心及时性、可靠性和完整性。
- 分类
实时过程控制
实时信息处理 - 特征:提供即时响应、高可靠性
网络操作系统
- 原理: 按照网络架构的各个协议标准进行开发,包括网络管理、通信、资源共享、系统安全和多种网络应用服务等。在网络系统中,个计算机的操作系统可以互不相同,它需要有一个支持异种计算机系统之间进程通信的网络环境,以实现协同工作和应用集成。
- 特征:互操作性、协作处理。
分布式操作系统
分布式操作系统要求有个统一的操作系统,实现系统操作的统一性,负责全系统的资源分配和调度,为用户提供统一的界面。他是一个逻辑上紧密耦合的系统。目前还没有真正实现的网络操作系统。
现在的虚拟云主机算不算分布式系统???
进程概述
进程和程序的比较
进程是程序的依次执行,是一个动态的概念;而程序是静态的概念,是指令的集合,具有动态性和并发性。
程序是进程运行所对应的运行代码,一个进程对应于一个程序,一个程序可以同时对应与多个及进程。
- 组成
在操作系统中,晋城市进行系统资源分配、调度和管理的最小单位。从静态的观点看,进程由程序、数据和进程控制块组成;从动态的观点看,进程是计算机状态的有序集合。 - 进程控制块 Process Control Block
进程存在的唯一标志,描述进程的基本情况:1-调度信息,供过程调度使用,包括进程当前的一些基本属性。2-执行信息,刻画了进程的执行情况。
进程状态划分
- 三态模型
- 运行态:占有处理器正在运行
- 就绪态:具备运行条件,等待系统分配处理起以便运行。
- 等待态(阻塞态):不具备运行条件,正在等待某个事件的完成。
- 五态模型
实际使用中,进程不能总是全部存在于内存之中,有时需要将某些进程挂起,对换到磁盘镜像区中,使之暂时不参与进程调度,起到平滑系统操作负荷的目的。 - 运行
- 活跃阻塞
- 静止阻塞
- 静止就绪
- 活跃就绪
信号量与PV操作的概述
在操作系统中,进程之间经常会存在互斥和同步两种关系,为了有效地处理这两种情况,W.Dijkstra在1965年提出信号量和PV操作。
信号量:是一种特殊的变量,表现形式是一个整型S和一个对列
P操作: S=S-1,若S<0,表示当前没有资源分配给该进程,进程暂停执行,进入等待队列。
V操作:S=S+1,若S≤0,表示阻塞队列中由等待该资源的进程,唤醒等待队列中的第一个进程。
PV操作的理解
- 信号量与PV操作用来解决并发问题的,而在并发问题中最重要的是互斥与同步两个关系,在解题时,应该先从寻找互斥与同步关系开始
- 通常一个互斥或者一个同步关系可以使用一个信号量来解决。
- 信号量的初值通常就是表示资源的可用数,而且通常对于初始为0的信号量,会先做V操作
- 在资源使用之前,将会使用P操作;在资源用完之后,将会使用V操作。在互斥PV操作是在一个进程中成对出现的;而在同步关系中,PV操作一定是在两个进程设置时多个进程中成对出现。
利用PV操作实现进程的互斥控制
利用PV操作实现进程的同步控制
生产者-消费者问题(3个信号量)
- empty 同步 说明空闲的缓冲区数量,因为程序开始时,缓冲区全部为空。所以其初始值应为缓冲区的总个数
- full 同步 说明已填充的缓冲区的数量,因为程序开始时,所有缓冲区都为空(未填充),所以,其初始值应为0
- mutex 互斥 保证同时只有一个进程再写缓冲区,因此,其初始值应为1
管程与线程
管程
- 组成
管程由管程名、局部子管程的变量说明、说用共享资源并在数据集上进行操作的若干过程,以及对变量赋初值的语句4个基本部分组成。 - 执行过程
每一个管程管理一个临界资源。当有几个进程调用某某管程时,仅允许一个进程进入管程,其他调用者必须等待。
线程
线程时进程的活动成分,是处理器分配资源的最小单位,牙科椅共享进程的资源与地址空间,通过线程的活动,进程可以提供多种服务或者实行子任务并行。采用线程即知的最大优点时节省开销、创建时间短。
多线程系统
死锁问题
- 定义:死锁是指多个 进程之间互相等待对方的资源,而在得到对方资源之前又不释放自己的资源,造成循环等待的以重现象。
- 必要条件
- 互斥条件:即一个资源每次只能被一个进程使用。
- 请求保持条件:有一个进程已获得了一些资源,但因请求其他资源被阻塞时,对已获得的资源保持不放。
- 不可剥夺条件
- 环路条件
- 银行家算法
再分配资源之前先看清楚资源分配后是否会导致系统死锁。如果会思索,则不分配;否则就分配。
存储管理
主要任务:提高贮存的利用率、扩充主存以及对主存信息实现有效保护。
存储管理的对象:主存储器(内存)
逻辑地址和物理地址
地址重定向
静态重定位
动态重定位
虚存组织
分段技术
- 划分方式:段,不定长,每个作业一张段表
- 虚地址:(S,d)段内偏移
- 虚拟转换:段内找出起始地址,加段内偏移
- 优点:简化任意增长和收缩的数据段管理,利于进程间共享过程和数据
- 缺点:段外碎片降低了利用率
页式管理
- 划分方式:页(定长),每个进程一张页表
- 虚地址(P,d),页号,页内偏移
- 虚实转换:也表内找出起始地址,然后加页内偏移
- 优点:消除了页外碎片
- 缺点:存在页内碎片
段页式管理
- 划分方式:湘江内存分维登场也,每个作业一张段表,每段对应一组页表
- 虚地址:(S,P,d)段号、段内页号,页内偏移
- 虚实转换:现在段表中找到也表表的起始地址,然后在表中找到起始地址,最后加页内偏移
- 优点:结合了段与页的有点,便于控制存取访问
- 缺点:提高复杂度,增加硬件存在页内碎片
2. 数据库基础知识
基本概念
- 数据库
- 数据库系统
- 数据库管理系统
关系数据库系统
面向对象的数据库系统
对象关系数据库系统
数据库技术中采用分级方法,数据库结构划分层次
- 外模式
- 概念模式
- 内模式
结构
结构基础是数据模型,用来描述数据的一组概念和定义
三要素
- 数据结构
- 数据操作
- 数据的约束条件
常见数据模型
概念数据模型:主要用实体-联系方法表示(Entity-Relationship Approach)
- 实体
矩形框表示 - 属性
椭圆形表示,并用连线与实体连接起来 - 实体之间的联系
菱形框表示
基本数据模型
- 数据结构
- 数据操作
- 完整性约束
面向对象模型
用面向对象的观点来描述现实世界实体的逻辑组织、对象间限制、联系等的模型。
数据的规范化
- 函数依赖
关系数据库设计理论的核心就是数据间的函数依赖 - 范式
- 第一范式(1NF)
如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式的模式,r是规范化的关系。关系数据库研究的关系都是规范化的关系。 - 第二范式(2NF)
如果关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么称R是2NF模式 - 第三范式(3NF)
如果关系模式R是1NF,且每个非主属性完全函数依赖于候选码,那么称R是3NF模式 - BC范式
如果关系模式R是1NF,且每个主属性都不传递依赖于R的候选键,那么称R是BCNF模式
BCNF∈3NF∈2NF∈1NF
事务管理
DBMS运行的基本工作单位是事务,事务时用户定义的一个数据库序列,这些操作序列要么全做,要么都不做,是一个不可分割的工作单位
四个特性
- 原子性 Atomicity
事务操作要么全做,要么全不做 - 一致性 Consistency
事务的执行就是数据库从一个一致性状态变成另一个一致性状态 - 隔离性 Isolation
一个事务的执行不能被其他事务干扰 - 持续性 Durability
事务一旦提交,他对数据库的改变必须是永久的,即便系统出现故障也是如此
相关SQL语句
- BEGIN TRANSACTION
- COMMIT
- ROLL BACK
并发控制
- 并发操作
- 封锁
备份与恢复
备份分类
- 静态备份
- 动态备份
- 海量备份
备份全库 - 增量备份
四类故障
- 事务故障
恢复操作:撤销事务和重做事务 - 系统故障
- 介质故障
介质故障的恢复由数据库管理员装入数据库副本和日记文件副本,在由系统执行撤销和重做操作。 - 计算机病毒
关系数据库设计
数据库设计:对一个给定的应用环境,构造最优的数据库,建立数据库及其应用系统,使之能有效地存储数据,满足各种用户需求。
特点
从数据结构开始,并以之为核心展开,静态结构设计与动态性为设计分离,试探性,反省性和多步性
方法
- 直观设计法
- 规范设计法
- 计算机辅助设计法
- 自动化设计法
步骤
- 需求分析
- 概念结构设计
- 逻辑结构设计
- 物理结构设计
- 应用程序设计
- 运行维护
分布式数据库系统
分布式数据库系统:针对地理上分散而管理上又需要不同程度寄中管理的需求,而提出的以重数据管理信息系统。
特点
- 数据的集中控制性
- 数据独立性
- 数据冗余可控性
- 场地自治性
- 存取有效性
体系结构
- 全局外层
- 全局概念层
- 局部概念层
- 局部内层
商业智能
BI
企业对商业数据的搜集、管理和分析的系统过程,目的是是企业的各级决策者获得知识或洞察力,帮助他们作出对企业更有利的决策。一般认为数据仓库、联机分析处理(OLAP)和数据挖掘是商业智能的三大组成部分
数据仓库Data Warehouse
- 面向主题
- 集成的
- 非易失的
- 时变的
OLTP与OLAP比较
- OLTP即联机事务处理,是关系数据库的基础
- OLAP即联机分析处理,是数据仓库的核心部分
数据挖掘与传统数据分析的区别
数据挖掘实在没有明确假设的前提下区挖掘信息、发现知识。数据挖掘所得到的信息应具有先知、有效和可实用三个特征。