上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页

2017年11月22日

(笔记)Linux内核学习(十一)之I/O层和I/O调度机制

摘要: 一 块I/O基本概念 字符设备:按照字符流的方式被有序访问的设备。如串口、键盘等。 块设备:系统中不能随机(不需要按顺序)访问固定大小的数据片(chunk 块)的设备。 如:硬盘、软盘、CD-ROM驱动器、闪存等。都是通过以安装文件系统的方式使用。 块设备的组成: 扇区:是块设备中最小的可寻址单元( 阅读全文

posted @ 2017-11-22 17:51 怀想天空2013 阅读(208) 评论(0) 推荐(0) 编辑

(笔记)Linux内核学习(十)之虚拟文件系统概念

摘要: 虚拟文件系统 虚拟文件系统:内核子系统VFS,VFS是内核中文件系统的抽象层,为用户空间提供文件系统相关接口; 通过虚拟文件系统,程序可以利用标准Linux文件系统调用在不同的文件系统中进行交互和操作。 VFS作为抽象层: 文件系统被安装在一个特定的安装点上,该安装点在全局层次结构中被称作命名空间, 阅读全文

posted @ 2017-11-22 17:50 怀想天空2013 阅读(295) 评论(0) 推荐(0) 编辑

(笔记)Linux内核学习(九)之内核内存管理方式

摘要: 一 页 内核把物理页作为内存管理的基本单位;内存管理单元(MMU)把虚拟地址转换为物理 地址,通常以页为单位进行处理。MMU以页大小为单位来管理系统中的也表。 32位系统:页大小4KB 64位系统:页大小8KB 内核用相应的数据结构表示系统中的每个物理页: <linux/mm_types.h> st 阅读全文

posted @ 2017-11-22 17:49 怀想天空2013 阅读(248) 评论(0) 推荐(0) 编辑

(笔记)Linux内核学习(八)之定时器和时间管理

摘要: 一 内核中的时间观念 内核在硬件的帮助下计算和管理时间。硬件为内核提供一个系统定时器用以计算流逝的时间。系 统定时器以某种频率自行触发,产生时钟中断,进入内核时钟中断处理程序中进行处理。 墙上时间和系统运行时间根据时钟间隔来计算。 利用时间中断周期执行的工作: 更新系统运行时间; 更新实际时间; 在 阅读全文

posted @ 2017-11-22 17:47 怀想天空2013 阅读(262) 评论(0) 推荐(0) 编辑

(笔记)Linux内核学习(七)之内核同步机制和实现方式

摘要: 一 原子操作 指令以原子的方式执行——执行过程不被打断。 1 原子整数操作 原子操作函数接收的操作数类型——atomic_t 2 原子位操作 二 自旋锁 原子位和原子整数仅能对简单的整形变量进行原子操作,对于复杂的数据复杂的操作并不适用。 需要更复杂的同步方法实现保护机制——锁。 自旋锁:同一时刻只 阅读全文

posted @ 2017-11-22 17:46 怀想天空2013 阅读(227) 评论(0) 推荐(0) 编辑

(笔记)Linux内核学习(五)之中断推后处理机制

摘要: 一 中断 硬件通过中断与操作系统进行通信,通过对硬件驱动程序处注册中断处理程序,快速响应硬件的中断。 硬件中断优先级很高,打断当前正在执行的程序。有两种情况: 硬件中断在中断处理程序中处理 硬件中断延后再进行处理 这个具体硬件相关,在中断处理程序中处理,打断了当前正在执行的程序;所有中断都将被屏蔽; 阅读全文

posted @ 2017-11-22 17:45 怀想天空2013 阅读(339) 评论(0) 推荐(0) 编辑

(笔记)Linux内核学习(六)之并发和同步概念

摘要: 一 临界区和竞争条件 临界区:访问和操作共享数据的代码段。 竞争条件:多个执行线程处于同一个临界区中。 处于竞争条件:造成访问的数据或者资源不一致状态: 对资源i的访问:ProcessA和B访问后得到正确的结果应该是9: 进程是并发执行,有可能得到的结果是:8 防止这种情况的发生:保证对资源的访问原 阅读全文

posted @ 2017-11-22 17:45 怀想天空2013 阅读(168) 评论(0) 推荐(0) 编辑

(笔记)Linux内核学习(四)之系统调用

摘要: 一 用户空间和内核空间 Linux内核将这4G字节虚拟地址空间的空间分为两部分: l 将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为“内核空间”。 l 将较低的3G字节(从虚拟地址 0x00000000到0xBFFFFFFF),供各个进程使用,称为“用户空 阅读全文

posted @ 2017-11-22 17:43 怀想天空2013 阅读(243) 评论(0) 推荐(0) 编辑

(笔记)Linux内核学习(三)之进程调度

摘要: 进程调度: 在可运行态进程之间分配有限处理器时间资源的内核子系统。 一 调度策略 1 进程类型 I/O消耗型进程:大部分时间用来提交I/O请求或是等待I/O请求,经常处于可运行状态,但运行时间短,等待请求过程时处于阻塞状态。如交互式程序。 处理器消耗型进程:时间大都用在执行代码上,除非被抢占否则一直 阅读全文

posted @ 2017-11-22 17:42 怀想天空2013 阅读(201) 评论(0) 推荐(0) 编辑

(笔记)Linux内核学习(二)之进程

摘要: 一 进程与线程 进程就是处于执行期的程序,包含了独立地址空间,多个执行线程等资源。 线程是进程中活动的对象,每个线程都拥有独立的程序计数器、进程栈和一组进程寄存器。 内核调度的对象是线程而不是进程。对Linux而言,线程是特殊的进程。 二 进程描述符及任务结构 内核使用双向循环链表的任务队列来存放进 阅读全文

posted @ 2017-11-22 17:41 怀想天空2013 阅读(378) 评论(0) 推荐(0) 编辑

(笔记)Linux内核学习(一)之内核介绍

摘要: 内核与操作系统: 内核是操作系统的核心部分,包含了系统运行的核心过程,决定系统的性能,操作系统启动内核被装入到RAM中; 操作系统与底层硬件设备交互和为运行应用程序提供执行环境。 Linux内核与微内核比较: 微内核:内核只需要一个很小的函数集,通常包括几个同步原语,一个简单的调度程序和进程间通信机 阅读全文

posted @ 2017-11-22 17:40 怀想天空2013 阅读(253) 评论(0) 推荐(0) 编辑

2017年11月15日

状态机思路在程序设计中的应用

摘要: 状态机思路在单片机程序设计中的应用 状态机的概念状态机是软件编程中的一个重要概念。比这个概念更重要的是对它的灵活应用。在一个思路清晰而且高效的程序中,必然有状态机的身影浮现。 比如说一个按键命令解析程序,就可以被看做状态机:本来在A状态下,触发一个按键后切换到了B状态;再触发另一个键后切换到C状态, 阅读全文

posted @ 2017-11-15 17:45 怀想天空2013 阅读(176) 评论(0) 推荐(0) 编辑

2017年11月14日

内存操作函数memmove,memcpy,memset

摘要: 通过字符串的学习,我们知道字符串操作函数的操作对象是字符串,并且它的结束标志是结束符\0,当然这个说的是不 受限制的字符串函数。然而当我们想要将一段内存的数据复制到另一块内存时,我们不能使用字符串操作函数,当然也 不能一个一个复制,所以就引入了内存操作函数。 memcpy函数原型: void *me 阅读全文

posted @ 2017-11-14 15:49 怀想天空2013 阅读(906) 评论(0) 推荐(0) 编辑

linux下常用的几个时间函数:time,gettimeofday,clock_gettime,_ftime

摘要: gettimeofday()提供了微秒级的精确度 1、头文件 <time.h> 2、函数原型 int gettimeofday(struct timeval *tv, struct timezone *tz); gettimeofday()会把目前的时间由tv所指的结构返回,当地时区的信息则放到tz 阅读全文

posted @ 2017-11-14 15:46 怀想天空2013 阅读(929) 评论(0) 推荐(0) 编辑

Camera ISO、快门、光圈、曝光这几个概念

摘要: 转载自知乎:https://www.zhihu.com/question/21427664 种田要知节气,开车要懂离合,任何一样手艺都有行话。虽然我觉得尽量从实际问题说起,尽量不要说的很专业,但有几个词却是谈到摄影无法避开的词,它们是:光圈,快门, 曝光,焦距, ISO,景深。 一、ISO(感光度) 阅读全文

posted @ 2017-11-14 15:29 怀想天空2013 阅读(1111) 评论(0) 推荐(0) 编辑

2017年11月9日

C语言中的指针和内存泄漏几种情况

摘要: 引言 原文地址:http://www.cnblogs.com/archimedes/p/c-point-memory-leak.html,转载请注明源地址。 对于任何使用C语言的人,如果问他们C语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏。这些的确是消耗了开发人员大多数调试时间的事项 阅读全文

posted @ 2017-11-09 09:45 怀想天空2013 阅读(520) 评论(0) 推荐(0) 编辑

2017年10月24日

音视频文件码率与大小计算

摘要: 编码率/比特率直接与文件体积有关。且编码率与编码格式配合是否合适,直接关系到视频文件是否清晰。 在视频编码领域,比特率常翻译为编码率,单位是Kbps,例如800Kbps 其中, 1K=1024 1M=1024K b 为 比特(bit) 这个就是电脑文件大小的计量单位,1KB=8Kb,区分大小写,B代 阅读全文

posted @ 2017-10-24 15:31 怀想天空2013 阅读(1263) 评论(0) 推荐(0) 编辑

2017年10月20日

C\C++中 fopen中文件打开方式的区别:

摘要: 在C语言中,大家常用到fopen打开文件,准备进行写操作,再用fwrite把数据写入文件,最后用fclose关闭文件。 如以下C代码: #include <stdio.h> char buf[10] = {10,10,10,10,10,10,10,10,10,10}; FILE *fp = fope 阅读全文

posted @ 2017-10-20 14:36 怀想天空2013 阅读(22226) 评论(0) 推荐(0) 编辑

2017年10月12日

无法将网络更改为桥接状态 没有VMent0

摘要: 本文主要分享 VMware 10.0.2 报错信息:无法将网络更改为桥接状态的解决经验 本文主要分享 VMware 10.0.2 报错信息:无法将网络更改为桥接状态的解决经验 本文主要分享 VMware 10.0.2 报错信息:无法将网络更改为桥接状态的解决经验 本文主要分享 VMware 10.0 阅读全文

posted @ 2017-10-12 10:33 怀想天空2013 阅读(2712) 评论(0) 推荐(0) 编辑

2017年9月27日

对硬盘进行分区时,GPT和MBR有什么区别?

摘要: 在Windows 8或8.1中设置新磁盘时,系统会询问你是想要使用MBR还是GPT分区。GPT是一种新的标准,并在逐渐取代MBR。 GPT带来了很多新特性,但MBR仍然拥有最好的兼容性。GPT并不是Windows专用的新标准—— Mac OS X,Linux,及其他操作系统同样使用GPT。在使用新磁 阅读全文

posted @ 2017-09-27 19:54 怀想天空2013 阅读(239) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 13 下一页

导航