- 博客(8)
- 收藏
- 关注
原创 linux 进程调度
进程调度进程调度器决定了接下来运行哪一个进程,什么时候,多长时间。进程调度器分配了处理器上面有限的时间给可运行的进程;调度器是多任务操作系统的基础,比如说Linux。通过决策下一个运行的进程,调度器负责utilize系统并给用户一种多个进程在同事运行的印象。调度器背后的考虑是很简单的;优化处理器时间,假设说有可运行的进程的话,总有一个进程应该是处于运行态的。如果说系统中可运行的进程的数量多于...
2019-09-09 17:07:59 495 1
原创 linux进程管理
进程管理1、 进程描述符和task结构体内核把进程列表存储在一个双向循环链表中 task list;task list中的每个元素都是struct task_struct的一个进程描述符,defined in <linux/sched.h>;进程描述符包含了进程的所有信息;32bit的机器中,struct task_struct有1.7k bytes;进程描述符中包含的数据:打开...
2019-09-06 10:24:53 263 1
原创 嵌入式常见面试题目
嵌入式常见面试题目Heap(堆)和stack(栈)的区别全局变量与局部变量的区别结构体和联合体的区别数组与指针的区别指针函数与函数指针的区别常量与变量的区别指针自增自减与变量自增自减有什么区别#error的作用是什么#include Heap(堆)和stack(栈)的区别堆上的空间是手动分配与释放的,栈上的空间是自动分配与释放的。堆的空间是有限的,堆的空间是最大的自由储存区。全局变量与局部变量...
2020-02-10 17:57:28 780 1
原创 进程地址空间
The Process Address Space第十二章,我们讨论了内存管理,内核是如何管理物理内存的。除了管理自己的内存之外,内核还需要管理用户空间进程使用的内存。This memory叫做进程地址空间,which is the representation of memory given to each user-space process on the system.Linux是虚拟内存...
2019-09-30 14:37:40 300
原创 Linux内存管理
Memory Management内存在内核中的分配远没内核之外那么容易。简单来说,内核没有用户空间的优越待遇。不想用户空间,内核不会总是很容易的分配内存。比如说,内核不能够容易的处理内存分配错误问题,内核通常不能睡眠。由于这些限制和对于轻量级的内存分配机制的需求,内核当中的内存处理要比用户空间复杂得多。本章,我们讨论内核当中获取内存的手段。但是,在你真正的深入接触到这些接口之前,你需要理解内...
2019-09-24 16:13:35 467
原创 Timers and Time Management
Timers and Time Management时间参数的传入对于内核而言是很重要的。相对于事件驱动的函数,内核当中还有一大部分事件驱动的函数存在。他们中的有些事周期性的,比如说调度器的runqueue、或者刷新屏幕。They occur on a fixed scheduler,比如说每秒钟100次。内核调度其他的函数,比如说在将来的某一刻延迟disk I/O。又比如说,内核会在500毫秒...
2019-09-20 16:08:49 274
原创 中断和中断Handlers
任意一个操作系统的核心responsibility都是管理连接到机器上面的硬件---包括硬盘、键盘、鼠标、3D处理器等。为了满足这项responsibility,内核需要和机器本身通信,假如说处理器在维度上比他访问的硬件的速度快,那这对于内核来说是不理想的,因为它需要等待执行request却等待比他运行慢的硬件设备回应他;内核必须free to go,处理其他的事务,当该硬件完成了他的工作后,内核...
2019-09-17 19:06:55 1975
原创 Linux 系统调用
系统调用在现在操作系统中,内核提供了一系列的接口给用户空间,让这些进程可以跟内核进行交互。这些接口给给应用了一种access,可以访问到硬件;利用这种机制,可以创建新的进程、跟已知的进程进行通信、有能力申请其他的操作系统资源。这些接口就像是内核和应用之间消息的传递者。这些接口(或者说应用不能直接访问他们任意访问的资源)的存在的目的就是提供一个稳定的系统。5.1 Communicating wi...
2019-09-10 15:22:10 299 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人