Interview_操作系统_day21
并发和并行 并发: 同一时刻只能运行一条指令。在宏观上看起来是多个程序同时运行,但微观上是多个程序的指令交替着运行的。并发不能提高计算机的性能,只能提高效率。 并行: 同一时刻可以运行多条指令。无论从宏观还是微观,都是一起执行的。比如多核 \(cpu\) ,多个程序分别运行在不同的核上,互不影响。并行确实提高了计算机的效率。 用户态和内核态区别 操作系统两种 \(CPU\) 状态: 核心态:运行操作系统程序 用户态:运行用户程序 操作系统的指令划分: 特权指令:只能由操作系统使用,用户不能使用的指令。 非特权指令:用户程序可以使用的指令。 特权级: \(R0、R1、R2、R3\) \(R0\) 相当于内核态, \(R3\) 相当于用户态 不同的特权级别可以运行不同的指令 区别: 内核态和用户态是操作系统的两种运行级别。用户态拥有最低的特权级,核心态拥有较高的特权级。 处于用户态时,进程能够访问到的内存空间和对象受到限制,其所占有的处理机是可以被抢占的。 处于内核态时,进程能够访问所有的内存空间和对象,且所占有的处理机是不可以被抢占的。 操作系统为什么要分内核态和用户态 为了安全。在 \(cpu\) 中,如果有些指令用错会使系统崩溃,所以用户程序是不可信的,无论程序员是否有意,都可能把系统弄崩溃。 分了内核态和用户态之后,操作系统对内核级别指令进行封装,然后为用户提供系统服务