您的位置:首页 > 理论基础

计算机系统笔记

2015-06-10 18:48 302 查看
(一)硬件组成



1.总线:通常总线被设计成传送定长的字节块,也就是字;字中的字节数即字长是一个基本的系统参数,因系统而异;

2.主存:由一组DRAM(动态随机存取存储器)芯片组成;

3.CPU:从程序计数器(PC)指向的存储器处读取指令,解释指令中的位,执行指令指示的简单操作,然后更新程序计数器指向下一条指令,而这条指令并不一定在存储器中和刚刚执行的指令相邻;

(二)存储模型



(三)操作系统

操作系统有2个基本功能:1)防止硬件被失控的应用程序滥用;2)在控制复杂而又通常广泛不同的低级硬件设备方面,为应用程序提供简单一致的方法;

操作系统通过3个基本的抽象概念(进程,虚拟存储器和文件)实现这两个功能;



1.程序,进程,线程

(1)程序:一组指令的有效组合,静态概念;

(2)进程:程序的执行就是进程,动态概念;

(3)线程:进程的一个运行实体;

(4)进程是系统进行资源分配和调度的一个独立单位;线程是CPU调度和分派的基本单位,同一个进程内多个线程共享其资源;

2.进程的三种基本状态:就绪,执行,阻塞

(1)就绪:当进程已分配到除CPU以外的所有必要资源后,只要在获得CPU,便可立即执行,进程这时的状态就称为就绪状态;在一个系统中处于就绪状态的进程可能有多个,通常将他们排成一个队列,称为就绪队列;

(2)执行:进程已获得CPU,其程序正在执行;在单处理机系统中,只有一个进程处于执行状态;在多处理机系统中,则有多个进程处于执行状态;

(3)阻塞:正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即程序的执行受到阻塞,把这种暂停状态称为阻塞状态,有时也称为等待状态或封锁状态;

3.死锁

(1)概念:指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去;此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程;

(2)产生原因:

1)互斥:一个资源每次只能被一个进程使用;

2)不可抢占:进程已获得的资源,在未使用完之前,不能强行剥夺;

3)占有并等待:一个进程因请求资源而阻塞时,对已获得的资源保持不放;

4)环形等待:若干进程之间形成一种首尾相接的循环等待资源关系;

4.虚拟内存

(1)虚拟内存是操作系统内存管理的一种技术;它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换;

(2)虚拟内存的提出是为了避免程序直接访问物理内存;物理内存由操作系统管理;

(3)虚拟地址需要映射到物理地址上去,主要方式有3种:页式,段式,段页式;

5.页式,段式,段页式内存管理

(1)页式

1)虚拟内存分为等长大小的块,称为页;将物理内存也分为同样等长大小的块,称为页框;

2)页表:完成虚拟地址到物理地址的映射;

3)无论数据有多少,都只能按照页面大小分配,容易造成内部碎片;

(2)段式

1)虚拟内存根据程序的自然分界动态划分为大小不等长的块,称为段;

2)段表:完成虚拟地址到物理地址的映射;

(3)段页式

1)每个程序的虚拟内存先按逻辑结构分段,每段再按照实存的页大小分页;

(4)区别与联系:

1)页的大小是固定不变的,段的大小是不固定的;

2)页式提供一维地址,段式提供二维地址;

3)一条指令或一个操作数可能会跨越两个页的分界处,而不会跨越两个段的分界处;

6.栈跟堆

(1)栈区:由编译器自动分配释放,存放函数的参数值,局部变量的值等;

(2)堆区:一般由程序员分配释放(new与delete,malloc与free),若程序员不释放,程序结束时可能由OS回收;

(3)全局区(静态区):全局变量和静态变量的存储是放在一块的;

(4)文字常量区 :常量字符串就是放在这里的;

(5)程序代码区:存放函数体的二进制代码;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: