自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 操作系统 :进程运行的底层机制

目录1. 虚拟化2. 直接执行2.1 受限的操作2.2 进程间切换3 并发问题前文提到过,操作系统通过虚拟化CPU技术,提供了多个CPU的假象。要实现CPU的虚拟化,操作系统就需要一些低级【机制】和高级【策略】。本文主要谈谈,进程运行的一些机制。1. 虚拟化为了虚拟化CPU,操作系统需要以某种方式让许多任务共享物理CPU,让他们看起来是同时运行。基本思想:运行一个进程一段时间,然后运行另外一个进程一段时间,如此轮换。通过这种时分共享CPU,就实现了虚拟化。如图是一个最简单的时分共享示意图,不考

2021-04-09 20:30:37 552

原创 一文搞懂Linux 内核链表(深度分析)

目录1. 链表简介1.1 单链表1.2 双链表1.3 循环链表2. 内核链表2.1 神奇的结构:list_head2.2 链表初始化2.3 添加节点2.4 删除节点2.5 搬移2.6 合并2.7 替换2.8遍历操作3. 总结在Linux 内核中使用最多的数据结构就是链表了,其中就包含了许多高级思想。比如面向对象、类似C++模板的实现、堆和栈的实现。1. 链表简介链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节...

2021-03-25 22:51:03 437

原创 container_of 和 offset_of 分析和使用

hello, 大家好,今天和大家一起学习 Linux 内核中常见的两个宏 offsetof 和 container_of。对于初学者,很容易弄懵逼

2021-03-22 22:39:15 217

原创 Unix 进程 API:fork、wait、exec介绍

文章目录fork 系统调用wait 系统调用exec 系统调用为什么要这样设计API?总结参考资料本文,主要介绍进程创建的几个接口,带领大家了解进程创建与控制过程。fork 系统调用如下,为一个fork调用基本示例:#include <stdio.h>#include <stdlib.h>#include <unistd.h>int main(int argc, char *argv){ int pid = -1; pid = getpi

2021-03-14 22:45:22 509

原创 操作系统虚拟化与进程

1. 什么是虚拟化?关于虚拟化,我们引用《操作系统导论》中的一段对话:学生:尊敬的教授,什么是虚拟化?教授:想象我们有一个桃子。学生:桃子?(不可思议)教授:是的,一个桃子,我们称之为【物理】(physical)桃子。但是有很多想吃这个桃子的人,我们希望向每个想吃的人提供一个属于他的桃子,这样才能皆大欢喜。我们把给每个人的桃子称为【虚拟】(virtual)桃子。我们通过某种方式,从这个物理桃子创造出许多虚拟地址桃子。重要的是,这种假象中,每个人看起来都有一个物理桃子,但实际上不是。以最基本的

2021-03-08 21:49:37 510

原创 hello world 程序的生成过程

文章目录预处理编译汇编链接总结一个c/c++文件要经过预处理(prepocessing)、编译(compilation)、汇编(assembly)和链接(linking)等四部,才能变成可执行文件。在日常编译中,通常"编译"统称这四步:gcc -c xxx .s :汇编gcc -c xxx .c:预处理、编译、汇编gcc -o hello hello.c :预处理、编译、汇编...

2019-12-22 21:29:57 283 1

原创 S5PV210启动详解

S5PV210启动详解S5PV210启动详解内存中的一些基本知识启动过程介绍总结1. 内存中的一些基本知识内存SRAM :静态内存 。特点容量小、成本高。优点是不需要软件初始化,上电立马能用。DRAM:动态内存。特点容量大、价格低。缺点是需要软件初始化,上电后不能直接使用外存Norflash:特点是容量小、价格高,优点是CPU可以直接和总线连接,CPU上电后可以直接读取,一般用作启动介质N

2017-11-19 23:25:36 356

原创 VS2010操作Acess数据库

VS2010连接Acess数据库

2017-08-27 23:43:32 683

原创 VS2010制作PDF报表

最近工作需要,需要制作pdf,网上查了许多库,发pdflib的资料比较多。故,通过pdflib对pdf进行了简单的操作

2017-08-20 18:37:09 1185

原创 VS2010 对Excel读写操作

VS2010对Excel读写操作、基本实现对Excel的读写

2017-08-10 21:52:30 17578 4

原创 关于操作系统中进程、线程、和任务之间的关系

Vxworks系统中进程、线程和任务之间的关系               操作系统中每个进程在独立的地址空间运行(操作系统以为只有一个进程,实际上是分时复用的),每个进程的逻辑地址为4GB(32位系统,逻辑地址的虚拟内存),实际不一定有4G(逻辑上操作系统以为有4G),整个电脑可能只有1G(物理内存,内存条)。实际进程使用多少,就在物理内存里对应多少,虚拟内存和物理内存之间有个映

2016-12-27 21:20:06 4308 1

转载 Vxworks中几种延时

Vxworks中几种延时1 taskDelay    使调用该函数的任务延时n个tick(内核时钟周期)。该任务在指定的时间内主动放弃CPU,除了taskDelay(0)专用于任务调度(将CPU交给同一优先级的其他任务)外,任务延时也常用于等待某一外部事件,作为一种定时/延时机制。在没有中断触发时,taskDelay能很方便地实现,且不影响系统整体性能。       taskDel

2016-12-25 21:47:37 1579

转载 什么是实时操作系统?

1. 首先说一下实时的定义及要求:参见Donal Gillies在Realtime Computing FAQ中提出定义:实时系统指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产生结果的时间。如果未满足系统的时间约束,则认为系统失效。一个实时操作系统面对变化的负载(从最小到最坏的情况)时必须确定性地保证满足时间要求。请注意,必须要满足确定性,而不是要求速度足够快!例如,如果使用

2016-12-24 17:41:26 5454

简易浏览器

利用IE控件简单实现一个浏览器,包括导航、前进、后退、返回主页

2017-08-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除