3.性能之巅 洞悉系统、企业与云计算 --- 操作系统

3.1 术语
 
3.2 背景
	3.2.1 内核
		内核管理者cpu调度,内存,文件系统,网络协议,以及系统设备(磁盘,网络接口等)。通过系统调用提供访问设备和内核服务的机制。

		内核执行:
			内核的执行主要是按需的。例如,当用户级别的程序发起一次系统调用,或者设备发送一个中断时,一些内核线程会异步的执行一些系统维护工作。

		时钟:
			经典的unix内核的一个核心组件是 clock() 例程,从一个计时器中断执行。历史上它每秒执行的次数为 60100或者1000次,每次执行称为一次tick。
		功能包括更新系统时间,计时器和线程调度时间片的到时结束,维护cpu统计数据,以及执行callout(内核调度例程)。

		内核态:
			内核是唯一运行在特殊cpu模式的程序,这一特殊的cpu模式叫做内核态。
			无论是用户态还是内核态,都有自己的软件执行上下文,包括栈和寄存器。这些状态切换上下文是会耗时的(cpu周期)。

	3.2.2 栈
		栈用函数和寄存器的方式记录了线程的执行理事。
		当函数被调用的时候,cpu当前的寄存器组(保存cpu状态)会存放在栈里,在顶部会为线程的当前执行添加一个新的栈帧。函数通过调用cpu指令"return"终止执行,
	从而清除当前的栈,执行会返回到之前的栈,并恢复相应的状态。

		如何读栈:
			栈的顶部通常出现在第一行。从左到右,分别是 内核模块的位置(kernel),指令的偏移量(0x1,这里指的是函数内指令的地址)。父函数在下面,从上往下阅读栈。

		用户栈和内核栈:
			在执行系统调用的时候,一个进程的线程有两个栈:一个用户级别的栈和一个内核级别的栈。

	3.2.2 中断和中断线程
		除了响应系统调用外,内核也要响应设备的服务请求,这称为中断,它会中断当前的执行。
		中断服务程序需要通过注册来处理设备中断。这类程序的设计要点是需要运行的尽可能快,以减少对活动线程中断的影响。如果中断要做不少工作,尤其是
	还可能被锁阻塞,那么最好用中断线程来处理,由内核来调度。

	3.2.4 中断优先级
		中断优先级(IPL)表示的是当前活跃的中断服务程序的优先级。

	3.2.5 进程 
		进程是用以执行用户级别程序的环境。

		进程创建:
			正常情况下通过系统调用 fork() 来创建。fork() 用自己的进程号创建自身进程的一个复制,然后通过系统调用 exec() 才能开始执行不同的程序。

		进程生命周期:
			idle, ready to run, on-proc, sleep, zombie

			on-proc 是指进程运行在处理器上。ready-on-run 是指进程可以运行,但是还在cpu的运行队列里等待cpu。IO阻塞,让进程进入sleep状态直到IO完成进程被唤醒。
		zombie状态发生在进程终止,这时进程等待自己的状态被父进程读取,或者直至被内核清楚。

	3.2.6 系统调用 
		系统调用请求内核执行特权的系统例程。

	3.2.7 虚拟内存 
		虚拟内存是主存的抽象,提供进程和内核,它们自己的近乎是无穷的和私有的主存视野。它还支持主存的超额使用,如果需要,操作系统可以将虚拟内存在主存和二级存储(磁盘)
	之间映射。

	3.2.8 内存管理 
		当虚拟内存用二级存储作为主存的扩展时,内核会尽力保持最活跃的数据在主存中。有以下两个内核例程做这件事:
			1.交换,让整个进程在主存和二级存储之间做移动
			2.换页,移动称为页的小的内存单元(4kb)

	3.2.9 调度器
		unix及其衍生的系统都是分时系统,通过划分执行时间,让多个进程同时运行。

		1.cpu密集型
			应用程序执行繁重的计算。

		2.IO密集型
			应用程序执行IO,计算不多,这些都需要 低延时的响应。

	3.2.10 文件系统 
		文件系统是作为文件和目录的数据组织。

		VFS:
			虚拟文件系统(vfs),是一个对文件系统类型做抽象的内核界面。

		IO栈:
			基于存储设备的文件系统,从用户级软件到存储设备的路径被称为IO栈。

	3.2.11 缓存 
	3.2.12 网络 
		连接网络的物理设备是网络接口,一般使用网络接口卡(NIC)。

	3.2.13 设备驱动 
		设备驱动是用于设备管理和设备IO的内核软件。

	3.2.14 多处理器 
	3.2.15 抢占 
	3.2.16 资源管理 
	3.2.17 观测性
 
3.3 内核 
	3.3.1 UNIX
	3.3.2 基于Solaris
	3.3.3 基于Linux 
	3.3.4 差异

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值