CS162 Lecture 2: Four Fundamental Concepts of Operating Systems
4 Concepts
Thread
-
独立执行的上下文单元
-
一个线程被认为是一个虚拟的cpu核心
-
拥有自己的PC,register,stack,
-
当一个线程被执行是指处理器核心维护了这个线程有关的寄存器
-
当一个线程被挂起是指这个线程有关的上下文被保存在内存中,处理器核心在执行其他线程
-
一个线程要么运行在cpu核心上,要么被保存在Thread Control Block(TCB)中
Address Space
-
也被叫做Virtual Address Space,是操作系统提供给进程的虚拟地址空间
-
地址空间是一系列地址以及和地址有关的状态
-
32bit和64bit处理器拥有的地址空间是不一样的
Process
-
有隔离性的运行环境
-
拥有自己的内存(address space)和文件描述符,文件系统上下文
-
一个进程可以有多个线程
-
进程里交流是容易的,进程间交流时困难的
Dual mode operation / Protection
-
硬件至少提供了两个mode,kernel和user,两者拥有不同的硬件权限
-
通过不同的mode可以实现操作系统内核空间和用户空间的切换,内核空间和用户空间是一个抽象的概念,而内核模式和用户模式是机器拥有的模式。
-
三种从用户空间进入内核空间的方式
-
Unix的架构
-
不同于内核空间和用户空间两层,多层的架构实现被称为虚拟机技术
-
上图的架构给出了Hypervisor和Docker的模型
CS162 Lecture 2: Four Fundamental Concepts of Operating Systems