操作系统基础自学

1. Linux系统从软件层面分为四层:

1. 引导程序boot(有些固件有,如bios)和bootloader:上电后第一个运行的程序
2. 内核linux kernal:负责内存分配,进程调度(决定了将哪个进程进行执行,以及执行的时间;最大化利用资源)
3. 文件系统file system:包含系统能够运行所必须的应用程序、库等等
4. 应用程序application:

2.用户空间与内核空间

Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间。

由于虚拟内存机制,两者不能简单地使用指针传递数据

32位Linux系统给每一个进程分配唯一的、连续的4G大小的虚拟内存空间,内核空间占1G,用户空间3G。(Linux内核由系统内的所有进程共享,不理解,用户空间为什么不是共享的)

用户进程最多只可以访问3G物理内存,而内核进程可以访问所有物理内存(通过复用的方式)

从内核空间和用户空间的角度看整个 Linux 系统;它大体可以分为三个部分,从下往上依次为:硬件 -> 内核空间 -> 用户空间

在硬件之上,内核空间中的代码控制了硬件资源的使用权,用户空间中的代码只有通过内核暴露的系统调用接口(System Call Interface)才能使用到系统中的硬件资源。

进程上下文:可以看作是用户进程传递给内核的这些参数以及内核要保存的那一整套的变量和寄存器值和当时的环境等(PC指针,用户栈,内核栈等)。简单来说就是使内核能够成功回到用户态的环境

中断上下文:可以看作就是硬件传递过来的这些参数和内核需要保存的一些其他环境(主要是当前被打断执行的进程环境)

我们可以将每个处理器在任何指定时间点上的活动概括为下列三者之一:
(1)内核态,运行于进程上下文,内核代表进程运行于内核空间。
(2)内核态,运行于中断上下文,内核代表硬件运行于内核空间。
(3)用户态,运行于用户空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值