术语

操作系统: 是安装在系统上的软件和文件,使得系统可以启动和运行程序。操作系统包括内核,管理工具,以及系统库。

内核: 内核是管理系统的程序,包括设备(硬件),内存和cpu调度,它运行在cpu的特权模式,允许直接访问硬件,称为内核

进程: 是一个OS的抽象概念,用来执行程序的环境。程序通常运行在用户模式,通过系统调用或自陷来进入内核模式(例如执行IO)

线程: 可被调度的运行在cpu上的可执行上下文。内核有多个线程,一个进程有一个或多个线程。多线程让单一进程可以在多个cpu上并发的执行

任务: 一个Linux的可运行实体,可以指一个进程(含有单个线程),或一个多线程的进程里的一个线程,或者内核线程。

内核空间: 内核的内存地址空间

用户空间: 进程的内存地址空间,用户级别的程序和库(/usr/bin,/usr/lib......)

上下文切换: 内核程序切换cpu让其在不同的地址空间上操作(上下文)

系统调用: 一套定义明确的协议,为用户程序请求内核执行特权操作,包括设备I/O

调度器: 调度器基本的意图是将cpu时间划分给活跃的进程或线程,而且维护一套优先级的机制,这样更重要的工作可以更快的执行

自陷: 信号发送到内核,请求执行一段系统程序(特权操作),自陷类型包括系统调用,处理器异常,以及中断

中断: 由物理设备发送给内核的信号,通常是请求I/O服务

 

内核态: 内核是唯一运行在特殊CPU模式下的程序,这一种特殊CPU模式叫做内核态

用户态: 对内核特权操作的请求是通过系统调用传递的,执行系统操作,执行会做上写文切换从用户态到内核态,然后使用更高的特权级别执行

 

栈: 栈用函数和寄存器的方式记录了线程的执行历史。存放函数的参数值,局部变量的值等,栈是一块连续的内存区域,栈由系统自动分配,速度快,但是程序员无法控制,在函数调用时,第一个进栈的是主函数中函数调用后的下一条指令的地址

堆: 工作区域,一般是由程序员分配释放,若程序员不释放的话,程序结束时可能由OS回收,堆是一块不连续对内存区域,一般是在堆的头部用一个字节存放堆的大小,具体内容由程序员安排,速度较慢,容易产生碎片,不过用起来方便

 

cpu密集型: 应用程序执行繁重的计算,例如科学和数学分析,通常运行时间较长

I/O密集型: 应用程序执行I/O,计算不多,例如WEB服务器,文件服务器

 

文件系统: 文件系统是作为文件和目录的数据组织,有一个基于文件的接口用于访问,该接口通常是基于POSIX标准的,内核能够支持多种文件系统类型和实例

设备驱动: 内核必须和各种各样的物理设备通信,这样的通信可以通过使用设备驱动达成,设备驱动是用于设备管理和设备I/O的内核软件

 

抢占: 支持内核抢占让高优先级的用户级别的线程可以中断内核并执行

 

并发: 分时系统支持程序的并发,装载和开始执行多个可运行程序的能力

并行: 应用程序需要在同一时间运行在多颗CPU上

 

编译语言: 在运行之前将程序生成机器指令,并保存在二进制可执行文件里,这些文件可在任何时间运行而无需再度编译。编译语言包括C C++

解释语言: 程序的执行是将语言在运行时翻译成行为,这一过程会增加执行的开销。shell脚本就是解释语言

虚拟机: 语言虚拟机,或称为进程虚拟机是模拟计算机的软件。提供平台独立的编译环境,应用程序先编译成虚拟机指令集(字节码,bytecod),在由虚拟机执行。字节码是从原始程序编译而来,再由语言虚拟机进行解释的,解释时会把字节码编译成机器码,在执行期间运行的就是本机的机器码 JAVA都是用虚拟机(VM)执行。

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值