标签:
1.进程与线程
- 进程是系统进行资源分配和调度的一个独立单位。线程是CPU进行资源分配和调度的基本单位。
- 引入线程有以下的优点:易于调度;提高并发性;开销小;有利于发挥多处理器的功能。
- 进程与线程的区别:一个进程可以包含多个线程,但一个线程只能属于一个进程;一个进程的所有线程共享该线程的所有资源;线程是轻量级的进程,其切换代价小;每个进程都有自己独立的空间。
2.线程同步的机制
3.内核线程和用户线程
根据操作系统内核是否对线程可感知,将线程分为内核线程和用户线程。
- 内核线程又叫守护线程,其建立、销毁和维护是由操作系统负责、通过系统调度完成。操作系统在调度时参考各进程内的线程运行状况作出调度决定,如果一个进程中没有就绪的线程,那么这个进程就不会占用CPU。
- 用户线程不需要内核支持而在用户程序中实现的线程,其不依赖与操作系统核心,用户进程利用线程库提供创建、同步。调度和管理线程的函数。
4.内存管理的几种方式?
5.分段和分页的区别
- 页是信息的物理单位,分页实现了离散分配方式;段是信息的逻辑单位,它含有一组有意义且相对完整地信息。
- 页的大小固定且由系统确定,段的长度不确定。
- 分页的作用空间是一维的,即是单一的现行空间,程序员只需利用一个记忆符,即可表示一段地址;分段的作业空间是二维的,程序员在标识一个地址的时候,既需要给出段名,又需要给出段内地址。
6.什么是虚拟内存?
相对于物理内存而言的,可以理解为“假的”内存,它使得应用程序认为他拥有连续可用的内存,允许程序员编写并运行比实际系统拥有的内存大得多的程序,这使得许多大型软件能在内存有限的系统上实现。
虚存的优点:扩大地址空间;内存保护;公平分配内存;便于进程通信
缺点:需要额外的数据结构,会占用额外的内存;虚拟地址与物理地址转换的时候会增加指令的执行时间;页面的换入换出需要磁盘I/0;页面只有一部分内容的时候,会浪费内存。
7.内存碎片?内碎片?外碎片?
- 内存碎片是由于多次进行内存分配造成的
- 内碎片:分配给程序的存数空间没有用完,有一部分没有用完,但其他程序也无法使用的空间。
- 外碎片:由于空间太小,小到无法给任何程序分配的存数空间。
8.虚拟地址、逻辑地址、线性地址、物理地址
- 虚拟地址是由程序产生的由段内选择符和段内便宜地址组成的地址;
- 逻辑地址是由程序产生的段内偏移地址;
- 线性地址是指虚拟地址到物理地址之间的中间层,是处理器可寻址的内存空间。若没有分页机制,线性地址就是物理地址。
- 物理地址是CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果。
9.Cache(缓存)替换算法
- RAND随机算法
- FIFO先进先出算法
- LRU近期最少使用算法
- LFU近期最少使用算法
- OPT最优替换算法
10.库函数与系统调用?
库函数调用是语言或应用程序的一部分,他是高层的,完全运行在用户空间,为程序员提供调用真正的在幕后完成实际事务的系统调用接口;
系统函数是内核提供给应用程序的接口,属于系统的一部分。
11.静态链接与动态链接
静态连接是指把要掉用的函数或者过程直接连接到可执行文件中,成为可执行文件的一部分。
动态链接所调用的函数代码并没有复制到应用程序的可执行文件中,而是仅仅在其中加入了所调用函数的描述信息。
12.静态链接库与动态链接库
静态链接库就是使用.lib文件
动态链接库是一个包含可由多个程序同时使用的代码和数据的库。
13.用户态和核心态
14用户栈与核心栈
操作系统概述
标签:
原文地址:http://www.cnblogs.com/xiaoxiaohui2015/p/5799370.html