自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (11)
  • 收藏
  • 关注

转载 【Python】 sort、sorted高级排序技巧

这篇文章主要介绍了python sort、sorted高级排序技巧,本文讲解了基础排序、升序和降序、排序的稳定性和复杂排序、cmp函数排序法等内容,需要的朋友可以参考下Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。1. 排序基础简单的升序排序是非常容易的。只需要调用so

2017-03-28 09:04:40 679

原创 X86系统寄存器(初始化系统,控制系统操作)

一、系统寄存器1. EFLAGS 寄存器① 存放system flags和IOPL;②控制任务切换和模式切换,处理终端,指令追踪;2.控制寄存器(CR0,CR2,CR3,CR4)①控制系统级操作;②支撑操作系统某些特性;3.GDTR/LDTR/IDTR①记录了GDT/LDT/IDT表的线性基址和大小;4. 任务寄存器(task

2015-06-12 20:49:44 4236

转载 SMBIOS介绍(3):实现

Linux中实现了SMBIO内核模块,它是通过/proc文件系统,以一种用户可理解的格式或纯粹的二进制格式来访问SMBIOS结构的信息。sourceforge上有这个内核模块的源代码,地址为http://sourceforge.net/projects/smbios/,是在Linux 2.4内核中的实现,它同时也实现了DMI。注意Linux 2.6中的内核驱动程序模块结构与2.4中的基本相同,只是

2015-06-09 19:45:04 2279

转载 SMBIOS介绍(2):结构表

从 SMBIOS 2.3 版本开始,兼容 SMBIOS 的实现必须包含以下 10 个数据表结构: BIOS 信息 (Type 0) 、系统信息 (Type 1)、系统外围或底架 (Type 3) 、处理器信息 (Type 4) 、高速缓存信息 (Type 7) 、系统插槽 (Type 9) 、物理存储阵列 (Type 16) 、存储设备 (Type 17) 、存储阵列映射地址 (Typ

2015-06-09 19:44:16 1513

转载 SMBIOS介绍(1):概述

先介绍 DMI 。 DMI 是英文单词 Desktop Management Interface 的缩写,也就是桌面管理界面,它含有关于系统硬件的配置信息。计算机每次启动时都对 DMI 数据进行校验,如果该数据出错或硬件有所变动,就会对机器进行检测,并把测试的数据写入 BIOS 芯片保存。所以如果我们在 BIOS 设置中禁止了 BIOS 芯片的刷新功能或者在主板使用跳线禁止了 BIOS 芯片的

2015-06-09 19:43:07 1259

原创 IntelMP(Intel Multiple Processor)相关结构

一、MP Floating Pointer Structure1. MP Floating Pointer 结构2.表中各项的含义位置名称长度(Bytes)描述00HSIGNATURE32固定”_MP_”

2015-06-09 19:39:01 1365

转载 后科技时代--处理器的思考

在距离今天不到六十年的时间里,出现了几个与当今电子信息领域有着重大影响的公司和个人。最重要的公司当然是Fairchild半导体,另一些是Fairchild半导体派生出的公司。最有影响力的人选有诸多争议,有人说是Robert Noyce,也有人说是Jack Kilby,我以为只能是William Shockley。我每阅读着与Shockley有关的史料事迹,总有莫名的酸楚。他是硅谷的事实缔造

2015-05-27 19:51:24 1056

翻译 现代计算机架构常见时延(摘自计算机系统结构--量化研究方法)

现代计算机系统的存储结构、常见容量及其时延:

2015-05-27 19:22:32 912

原创 数据结构—堆排序及其应用(优先级队列)

一、时间复杂度O(nlgn),原地排序算法(需要的额外存储空间为常数);二、堆1.堆的性质(1)大顶堆:除了根节点之外的每个节点满足:A[parent(i)]>=A[i](最大元素在根节点)(2)小顶堆:除了根节点之外的每个节点满足:A[parent(i)]2.堆排序基本过程(1)MAX-HEAPIFY

2015-05-24 17:30:41 589

原创 Linux内核—进程管理

注:对linux系统来说,线程只是一种特殊的进程,linux不区分线程和进程;进程:处于执行期的程序+包含的资源一、进程描述符及任务结构进程存放在任务队列(task list)的双向循环链表中;链表中每一项类型均为task_struct(进程描述符,也可表示为task_t),该结构定义在include/linux/sched.h文件中。

2015-05-24 17:22:36 646

原创 内核开发时应该注意的点

1. 内核编程时不能访问C库访问C库,代码空间大,效率低;但是大部分常用的C库在内核中都已经实现了,如操作字符串的函数组位于linux/string.h路径下;内核无法调用printf()函数,但可以调用printk()函数;printk():将格式化好的字符串拷贝到内核日志缓冲区中,这样,syslog程序可以通过读取该缓冲区获取内核信息。printk()允许通过一个标志设置优先级

2015-05-24 17:19:09 593

原创 gem5线程相关的类—SimpleThread类,ThreadState类(src/cpu/thread_state.*)

一、总体功能1.ThreadState类:保存CPU模型中需要使用的线程状态;包括进程指针、内存对象指针、状态指针等;2.SimpleThread:兼具ThreadState和ThreadContext类型接口功能,提供了functional simulation全系统模拟时,所有可能状态;二、类1.类ThreadState(1)成员变量

2015-05-24 17:13:32 1175

转载 字典树(trie)

trie中的键通常是字符串,但也可以是其它的结构。trie的算法可以很容易地修改为处理其它结构的有序序列,比如一串数字或者形状的排列。比如,bitwise trie中的键是一串位元,可以用于表示整数或者内存地址。1.应用trie树常用于搜索提示。如当输入一个网址,可以自动搜索出可能的选择。当没有完全匹配的搜索结果,可以返回前缀最相似的可能。词频统计:可能有人要说了,词频统计简单啊,

2015-05-24 17:07:34 622

原创 GEM5中模拟的系统调用(部分没实现)

1.全部系统调用"syscall", // 037 "exit", // 138 "fork", // 239 "read", // 340 "write", // 441 "old_open", // 542 "close", // 643 "wait4", // 744 "old_creat", // 845 "link", // 946 4

2015-05-24 17:07:24 1694

转载 UML类图几种关系的总结

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization)         【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类

2015-05-24 17:02:30 338

转载 C,C++宏中#与##的讲解

文中__FILE__与示例1可以参见《使用ANSI C and Microsoft C++中常用的预定义宏》宏中的#的功能是将其后面的宏参数进行字符串化操作(Stringizing operator),简单说就是在它引用的宏变量的左右各加上一个双引号。如定义好#define STRING(x) #x之后,下面二条语句就等价。       char *pChar = 

2015-05-24 17:01:29 363

原创 GEM5中各种对象继承关系

基本模块继承关系如下(不一定全,但是有参考价值): 继承SimObject的类如下:继承SimObject的模拟对象(对应上图中的Too much objects...)CPU处理单元、指令控制相关MinorFU(cpu/minor/func_unit.hh)FUPool(cpu

2015-05-24 16:57:04 1189

原创 Redhat(Linux | CentOS)下常用命令

1 查看版本(1) 查看redhat-release文件 cat /etc/redhat-release(2)查看issue文件   cat /etc/issue(3)使用lsb_release命令    lsb_release -a2 使用yum更新3 解压软件(1)解压.zi

2015-05-24 16:55:26 547

转载 Linux下 GitHub使用

1 Linux下Git和GitHub环境的搭建第一步: 安装Git,使用命令 “sudo apt-get install git”第二步: 创建GitHub帐号g第三步: 生成ssh key,使用命令 “ssh-keygen -t rsa -C "[email protected]"”,your_email是你的email第四步: 回到github,进

2015-05-24 16:52:43 380

转载 GitHub常用命令

1 Git简介 Git是用C语言开发的分布版本控制系统。版本控制系统可以保留一个文件集合的历史记录,并能回滚到另外一个状态(历史记录状态)。对 于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改 (modified)和已暂存(staged)。已提交表示该文件已经被安全地保存在本地数据库中了;已修改表示修改了某个文件,但还没有提交保存;已暂

2015-05-24 16:51:26 355

原创 STL组件概述

一、六大组件容器、类属算法、迭代器、函数对象、适配器、分配器二、容器(存储其他对象集合的对象)1.序列容器(将一组具有相同类型的对象以严格线性的形式组织在一起)vector:随机访问编程序列,即:访问复杂度为O(1),对序列末尾的插入和删除均是分摊常量;(数组表示)deque:随机访问边长序列,对序列开头和末尾的插入和删除操作均是分摊常量的;(两级数组结

2015-05-24 16:48:40 468

原创 STL 迭代器

一、迭代器分类1.输入迭代器(只能从序列容器中读取数据,不能向其中写入数据)如输入流迭代器:istream_iterator2.输出迭代器(只能向序列容器中写入数据,不能从其中读取数据,不要求定义==和!=)如输出流迭代器ostream_iterator out(输出流对象,字符串),向输出流中写入数据时,将字符串插入到各个数据之间3

2015-05-24 16:45:34 490

原创 C++编程技巧—对数运算实现

可以调用C、C++中现成的算法库实现整数对数运算,比较高效的64位整数对数运算实现方法如下:int Log2(uint64_t n){ int result; if( n & 0xffffffff00000000) { result +=32; n >>= 32; } if( n & 0x00000000ffff0000) {

2015-05-24 16:42:54 4788

转载 MFC ListBox控件使用方法总结

MFC中listbox控件是为了显示一系列的文本,每个文本占一行。Listbox控件可以设置属性为:LBS_CHILD   :(默认)子窗口LBS_Visible :(默认)可视LBS_Multiplesel :可选择多行LBS_Extendedsel :可以使用shift或ctrl选择多行LBS_SORT:所有行按字母顺序进行排序

2013-11-16 18:45:44 2731

转载 MFC Tab控件使用方法

1、首先创建一个MFC对话框框架,在对话框资源上从工具箱中添加上一个Tab Control 控件,根据需要修改一下属性,然后右击控件,为这个控件添加一个变量,将此控件跟一个CTabCtrl类变量绑定在一起,这里设为m_tabctrl2、创建两个新的对话框资源,其属性作如下修改:Border:none //边界为空,这样它就没了标题栏Style :Child // 这样这个模板就可以当作

2013-11-16 18:43:36 1083

转载 VC6.0 快捷键

F1: 帮助Ctrl+O   :OpenCtrl+P   :PrintCtrl+N   :NewCtrl+Shift+F2 :清除所有书签F2    :上一个书签Shift+F2 :上一个书签Alt+F2   :编辑书签Ctrl+F2 :添加/删除一个书签F12    :Goto definitionShift+F12 :Goto reference

2013-11-16 18:37:18 597

memcached全面剖析(长野雅广、前坂徹)

长野雅广、前坂徹的memcached全面剖析,深入介绍了作者所在公司在memcached使用、开发领域的实践

2016-12-23

Linux内核设计与实现

Linux内核设计与实现:高清扫描版,了解Linux内核的入门书籍

2015-05-21

vnc 客户端

vnc客户端,不需要安装,直接下载到桌面即可以使用

2013-08-02

空空如也

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

TA关注的人

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