基础知识-计算机基础部分

cache即高速缓存,由于CPU运行速度比硬盘和内存快得多,所以CPU在存储数据时会等待,cache位于主存和CPU之间,作用是解决主存和CPU速率匹配问题。主板上的控制系统统计主存中哪些数据被CPU频繁访问,然后将这些数据放入cache中,CPU读取时优先在cache中查找,提高了整体速率

文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。

操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。

文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。

 

分区,一般是固定分区和可变分区。固定分区往往存在很难利用的内部碎片,而可变分区则会产生难以利用的外部碎片,而操作系统则需要负责动态地使用紧凑和拼接技术调整程序的位置,从而达到利用空余内存的目的。而紧凑和拼接的过程降低了系统的吞吐量。使用了分页技术后,则平均的页内碎片为半页,在页大小合理的情况下,是可以接受的,因此一般分页技术下不使用紧凑和拼接技术,吞吐量提升了。另外,内存被分为很小的页加以利用,内存的利用率也提升了。

 

having这个关键字本身就是用来和分组一起使用的,是分组后的过滤条件

 

分时系统:使一台计算机采用片轮转的方式同时为几个、几十个甚至几百个用户服务的一种操作系统。把计算机与许多终端用户连接起来,分时操作系统将系统 处理机 时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用。由于时间间隔很短,每个用户的感觉就像他独占计算机一样。分时操作系统的特点是可有效增加资源的使用率。例如UNIX系统就采用剥夺式动态优先的CPU调度,有力地支持分时操作。
 
只是看起来感觉像是每个用户独占资源,实际上还是多个用户共用的
 
对于文件系统来说,则可以一部分放在用户态,一部分放在内核态。文件系统本身的管理,即文件系统的宏数据部分的管理必须放在内核态,否则任何人都可能破坏文件系统的结构;用户数据的管理则可以放在用户态。
 

(1) 事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。所以,事务是数据库 维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。

(2) 事务是DBMS的基本单位,是构成单一逻辑工作单元的操作集合

 实现虚拟存储的目的是扩充主存容量

 

先来先服务调度算法

周转时间 = 完成时间 - 到达时间

 

有进程处于就绪状态,则必有进程处于运行状态,不一定有进程处于等待状态。

平均周转时间 = 所有进程周转时间 / 进程数 

 

1. 并发:在 操作系统 中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个 处理机 上运行。其中两种并发关系分别是同步和互斥
2. 互斥:进程间相互排斥的使用临界资源的现象,就叫互斥。
3. 同步: 进程之间的关系不是相互排斥临界资源的关系,而是相互依赖的关系。进一步的说明:就是前一个进程的输出作为后一个进程的输入,当第一个进程没有输出时第二个进程必须等待。具有同步关系的一组并发进程相互发送的信息称为消息或事件。
其中并发又有伪并发和真并发,伪并发是指单核处理器的并发,真并发是指多核处理器的并发。 
4. 并行:在单处理器中多道程序设计系统中,进程被交替执行,表现出一种并发的外部特种;在多处理器系统中,进程不仅可以交替执行,而且可以重叠执行。在多处理器上的程序才可实现并行处理。从而可知,并行是针对多处理器而言的。并行是同时发生的多个并发事件,具有并发的含义,但并发不一定并行,也亦是说并发事件之间不一定要同一时刻发生。

5. 多线程:多线程是程序设计的逻辑层概念,它是进程中并发运行的一段代码。多线程可以实现线程间的切换执行。

6. 异步:异步和同步是相对的,同步就是顺序执行,执行完一个再执行下一个,需要等待、协调运行。异步就是彼此独立,在等待某事件的过程中继续做自己的事,不需要等待这一事件完成后再工作。线程就是实现异步的一个方式。异步是让调用方法的主线程不需要同步等待另一线程的完成,从而可以让主线程干其它的事情。
   异步和多线程并不是一个同等关系,异步是最终目的,多线程只是我们实现异步的一种手段。异步是当一个调用请求发送给被调用者,而调用者不用等待其结果的返回而可以做其它的事情。实现异步可以采用多线程技术或则交给另外的进程来处理。

 

静态变量跟全局变量一样,存放在全局数据段,程序载入时分配空间,位置固定不再变化
堆和栈的空间是动态变化的

posted @ 2016-11-10 17:14  早安宇宙  阅读(172)  评论(0编辑  收藏  举报