用户态和内核态的区别
你是世界的一杆称,一头重一头轻。 –RuiDer
--大侄子的纪念日2018-8-27
before
本篇文章是我在学习Java的
synchornized
锁底层原理时碰到的一个知识点,了解过synchornized
底层原理的都会知道重量级锁中线程的阻塞和唤醒操作,这两种操作涉及到系统的调用,线程从用户态和内核态的切换,其开销非常大。
用户态和内核态的区别(转载)
内核态与用户态是操作系统的两种运行级别,当程序运行在3级特权级上时,
就可以称之为运行在用户态,因为这是最低特权级,是普通的用户进程运
行的特权级,大部分用户直接面对的程序都是运行在用户态;反之,当程
序运行在0级特权级上时,就可以称之为运行在内核态。运行在用户态下
的程序不能直接访问操作系统内核数据结构和程序。当我们在系统中执行
一个程序时,大部分时间是运行在用户态下的