Welcome 微信登录

首页 / 操作系统 / Linux

红黑树介绍与分析

红黑树介绍与分析

最近觉得C++生疏了,拿出侯捷的《STL源码剖析》翻了翻,看到C++ set,map底层实现机制,其中采用的就是红黑树数据结构,另外Linux内核对内存管理和进程调度都用到了红黑树,看来它不能让人小视。自己从网上和书上重新看了下红黑树,把个人的理解放到博客上,跟大家讨论,也作为自己的重新梳理的方式。红黑树(Red-Black Tree)它是在1972 年由Rudolf Bayer 发明的,他称之为"对称二叉B 树",它现代的名字是在Leo J. Guiba...
VMware 7.1.4下安装Fedora 15

VMware 7.1.4下安装Fedora 15

用VMware 7.1.4安装Fedora 15的时候,没有出现分区配置的步骤,以为是Fedora的问题呢,后来用VMware 6.5重新安装,可出现分区配置步骤--原来VMware 7.1.4执行了默认配置--如果不让VMware 7.1.4默认安装,需要在新建虚拟机那个步骤中一项稍后...选中这样fedora就不会自动安装了然后再为这个虚拟机添加iso文件,再启动就可以了我配置的一个分区,记录一下以备日后参考安装完成后则为[root@localhost...
Linux内核启动过程和Bootloader(总述)

Linux内核启动过程和Bootloader(总述)

1.Linux内核启动过程概述 一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader),Linux 内核,文件系统,应用程序。其中 Bootloader是系统启动或复位以后执行的第一段代码,它主要用来初始化处理器及外设,然后调用 Linux 内核。Linux 内核在完成系统的初始化之后需要挂载某个文件系统做为根文件系统(Root Filesystem)。根文件系统是 Linux 系统的核心组成部分,它可以做为Lin...
Linux 使用atexit注册终止处理程序

Linux 使用atexit注册终止处理程序

我们可以让一个进程即将终止时调用我们定义的函数~一个进程可以注册多达32个函数,这些函数将由exit自动调用。我们称这些函数为终止处理程序,需要使用atexit函数来注册这些函数。#include<stdlib.h> intatexit(void(*func)(void));其中,atexit的参数是一个函数地址,当调用此函数时无需向它传送任何参数,也不期望它返回一个值。exit调用这些函数的顺序与它们注册时候的顺序相反。同一函数如果注册多次,...
Linux I/O(输入和输出)

Linux I/O(输入和输出)

1.文件I/O1)文件描述符:对于内核而言,所有打开的文件都通过文件描述符引用。文件描述符通常是一个小的非负整数,内核用它标识一个特定进程正在访问的文件。当内核打开一个已有文件或创建一个新文件时,它返回一个文件描述符。2)按照惯例,UNIX系统shell使用文件描述符0(STDIN_FILENO)与进程的标准输入相关联,文件描述符1(STDOUT_FILENO)与标准输出相关联,文件描述符2(STDERR_FILENO)与标准出错输出相关联。这是各种she...
通过 PPA 安装 5.1 声道 Ubuntu 的登录声音

通过 PPA 安装 5.1 声道 Ubuntu 的登录声音

基于原始的wav文件进行修复,因为以前的版本是基于有损压缩OGG文件。调整后的水平,实际测试,能找到许多不同的5.1和2声道立体声环境。当然对于一般要求的人来说,安装 5.1 声道 Ubuntu 的登录声音并没有多大意义,耍一耍吧!安装,打开终端,运行下面的命令:sudo apt-add-repository ppa:kirkland/soundsudo apt-get updatesudo apt-get install ubuntu-sounds给GN...
Ubuntu Server 11.04下全新安装MySQL 5.5.15

Ubuntu Server 11.04下全新安装MySQL 5.5.15

由于项目需要,要在Ubuntu服务器上安装一个最新版本的mysql,从mysql的官方网站上,下载到了5.5.15版本的源代码包,决定用这个源代码包来进行mysql的安装。需要注意,本文中提到的所有的安装,都是在root权限下操作的。切换到root权限的指令为:sudo -s,回车后会要求输入密码,输入密码之后,即可使用root权限。安装的第一步,是编译环境的准备。由于ubuntu server默认安装好之后,是没有gcc、g++这些编译需要的必备软件的,...
在VirtualBox中体验Fedora 15与GNOME 3

在VirtualBox中体验Fedora 15与GNOME 3

前一段时间发布了带GNOME3的Fedora15,很多人在VirtualBox里运行Fedora 15时被提示硬件不支持,不能打开GNOME Shell, 这里介绍我的经验。1.首先从www.virtualbox.org下载最新版本的VirtualBox,至少要4.0.8以上,安装VirtualBox。2.虚拟机配置的要求,内存要分配的合适,至少要超过512M才行,我分配的是768M;虚拟硬盘要足够大,至少8G以上,我分配了10G;虚拟机的显卡3D加速要打...
Windows 7下硬盘安装 Red Hat Enterprise Linux 6.0 ES

Windows 7下硬盘安装 Red Hat Enterprise Linux 6.0 ES

1. 硬盘分区配置:C盘:Win7(NTFS格式——已安装)D盘:Windows下安装软件盘(NTFS格式——不处理)E盘:用于存放rhl6.0ES的安装文件(FAT32格式——安装完成后可更改为NTFS,因为其他D/F盘资料太多,所以我选择资料少的E盘,你可以根据实际情况选择)F盘:Windows下文件盘(NTFS格式——不处理)G盘:(FAT32格式——/根分区存放点,大小根据硬盘实际情况分配,我的是40G)H盘:(FAT32格式——4G空间大小,用于...
<< 461 462 463 464 465 466 467 468 469 470 >>