百盛娱乐城_【百盛娱乐存1元送18元】百盛娱乐 官方首页

个人资料
腾博会_诚信为本
百盛娱乐城_百盛娱乐城_【百盛娱乐存1元送18元】百盛娱乐 官方首页
微博

加好友 发纸条

写留言 加关注

  • 博客等级:
  • 博客积分:63
  • 博客访问:602,026,970
  • 关注人气:33,757,145
  • 获赠金笔:1000支
  • 赠出金笔:100000支
  • 荣誉徽章:
分类
博文
(2016-02-05)
转载
标签:

情感

分类: 微小说
配置NTP架设本地时间服务器 NTP是用来使系统和一个精确的时间源保持时间同步的协议.在Linux下,我们可以通过自带的NTPwork Time Protocol)协议通过网络使自己的系统保持精确的时间. 安装: # yum install ntp 或者从安装盘查找 ntp 的rpm 包安装 当你只有一台可链接外网的服务器时,加入 # crontab -e 加入一行: */15 * * * *为中国国家授时中心服务器地址,这样该机就可以与国家授时中心进行同步了。 要架设本地时间服务器,只需要修改 /etc/文件里的几个简单的配置就可以了,以下是我添加的配置: #
阅读  ┆ 评论 ┆ 转载
(2016-02-05)
转载
标签:

情感

分类: 微小说
Linux服务器具有稳定性好,价格低等优点。最为一个开源平台,无论是商业机构的支持还是网络开源程序组织的技术,都达到了一个成熟的水平。因为,目前中小型企业可以考虑一下使用Linux作为Web服务器,FTP服务器等的平台,这里我使用了Debian系统。 服务器的搭建: 有两种方法:从市场上购买Debian的系统盘或者从上下载系统,然后安装。下载地址: 。Debian系统的安装方法:请参考杨锦昌的教程,下载地址 内容很详细,便于入门学习。 通用指令init 6重启,init 0关机,init 1单用户进行管理维护。 、Debian学习: 1).Apt-get 命令,用于获取软件安装包: apt-setup 设置Apt源.可选择列表或者手工导入 apt-get update 系统软件包更新 apt-get upgrade 更新所有软件包并且自动升级成最新 apt-get dist-upgrade 更新软件包并解决软件依赖关系 apt-cache search keyword 查找指定软件包信息 apt-cache show package_name 详细显示指定软件包的信息 apt-get install 安装指定软件包 apt-get remove 移除指定软件包 =================================== 常用配置命令: base-config 配置基本系统 apt-get install zhcon 安装 Zhcon 中文字符支持包. zhcon 运行 Zhcon UC-DOS 中文系统 dpkg-reconfigure xserver-xfree86配置xfree86 apt-get removeatalk 删除不必要的-get remove exim4 删除MTA.提高启动速度. vi /etc/配置 Zhcon 设置 vi /etc/apt/配置 Apt 源址 2).网络设置: 设置IP文件: /etcwork/interfaces -------------动态DHCP获得 ----------------- # 启动系统激活设备. # Loop回环地址. auto lo iface lo loopback # 启动系统激活设备. # 网卡eth0设置为DHCP类型. auto eth0 iface eth0 dhcp -------------静态Static获得--------------- # 启动系统激活设备. # Loop回环地址. auto lo iface lo loopback # 启动系统激活设备. # 网卡eth0设置为Static类型. auto eth0 iface eth0 static # 指定IP地址.子网掩码.广播.网关.
阅读  ┆ 评论 ┆ 转载
标签:

情感

分类: 微小说
这篇简短的文章描述了Linux内核首选的编码风格。编码风格是很个人化的东西,我不会把自己的观点强加给任何人。但是,Linux内核的代码毕竟是我必须有能力维护的,因此我宁愿它的编码风格是我喜欢的。请至少考虑一下这一点。 首先,我建议打印一份《GNU编码标准》,不要阅读它。烧掉它,它不过是象征性的姿态。然后,请看: 第 1 章: 缩进 Tabs是8个字符的大小,因此缩进也应该是8个字符的大校有些叛逆主张试图把缩进变成4个字符的长度,这就好象试图把PI 定义成3是一样的。 依据:缩进背后的思想是:清楚地定义一个控制块从哪里开始,到哪里结束。尤其是在你连续不断的盯了20个小时的屏幕后,如果你有大尺寸的缩进。你将更容易发现缩进的好处。 现在,有些人说8个字符大小的缩进导致代码太偏右了,并且在一个80字符宽的终端屏幕上看着很不舒服。对这个问题的回答是:如果你有超过3个级别的缩进,你就有点犯糊涂了,应当修改你的程序。 简而言之,8个字符的缩进使程序更易读,而且当你把功能隐藏的太深时,多层次的缩进还会对此很直观的给出警告。要留心这种警告信息。 第 2 章: 放置花括号 C程序中另一个要主意的就是花括号的放置。与缩进尺寸不同的是,关于如何放置花括号没有技术上的理由。但是,首选的方法是象先知Brain Kernighan和Dennis Ritchie展现的那样:把左括号放在行尾,右括号放在行首。也就是: if { we do y } 然而,还有另外一种情况,就是函数:函数应当把左右括号都放在行首。也就是: int function { body of function }叛逆的人们所在皆有。他们说,这样会导致…嗯,不一致性。但是所有正确思考的人都知道: K&R是正确的; K&R还是正确的。 而且,函数与别任何东西都不一样。 注意,右括号所在的行不应当有其它东西,除非跟随着一个条件判断。也就是do-while语句中的“while”和if-else语句中的“else”。象这样: do { body of do-loop } while ; 和: if {} else if {} else {}依据: K&R。 而且,注意这种花括号的放置减少了空行的数目,并没损害可读性。因此,当屏幕上不可以有很多空行时,你就有更多的空行来安插注释。 下一页
阅读  ┆ 评论 ┆ 转载
标签:

情感

分类: 微小说
在 boot: 提示下键入可以使用附加的引导和北和引导选项实现相应的引导加载结果。引导时的命令参数apic该命令绕过在 Intel 440GX 芯片集 BIOS 中可能会普遍遇到的错误,它只应该使用安装程序内核来执行。apm=allow_ints该命令改变挂起服务的处理方式。apm=off该命令禁用 APM。它很有用处,因为某些 BIOS 的电源管理问题重重,很容易崩溃。apm=power_off该命令会使 Red Hat Linux 默认关闭系统。它对于不默认关闭的 SMP 系统来说有用。apm=realmode_power_off某些 BIOS 在试图关闭机器时崩溃。该命令把操作方法从 Windows NT 方式改为 Windows 95 方式。dd这个参数会导致安装程序提示你使用驱动程序盘。display=IP:0该命令允许远程显示转发。其中,IP 应该用你想充当显示系统的 IP 地址替换。 在你想用来显示的系统上,你必须执行 xhost +remotehostname 命令,这里的 remotehostname 是你运行显示命令的主机名称。使用 xhost +remotehostname 命令限制了对远程显示终端的访问,而且不允许来自没有被确切授予远程访问权的人员和系统的访问。driverdisk该命令执行的功能和 dd 命令相同,它还会在 Red Hat Linux 安装中提示你使用驱动程序盘。expert该命令会启用下列特殊功能:允许在可移介质上分区提示插入驱动程序盘ide=nodma该命令禁用所有 IDE 设备上的 DMA,在遇到 IDE 相关的问题时可能有用。isa该命令提示你输入 ISA 设备配置。linux upgradeany该命令会放松对你的 /etc/redhat-release 文件的某些检查。如果你的 /etc/redhat-release 文件已从默认内容被改变了。在试图升级 Red Hat Linux 9 时就可能会找不到你的 Red Hat Linux 安装。lowres该命令强制图形化安装程序使用较低的分辨率运行。mediacheck该命令给你提供测试安装源完好性的机会。在试图安装前先校验 ISO 映像的完整性会帮助你避免在安装中经常遇到的问题。下一页
阅读  ┆ 评论 ┆ 转载
标签:

情感

分类: 微小说
1.引言 从事Linux环境工作2年有余,一直懵懵懂懂,1年前拜读了《莱昂氏UNIX源代码分析》一书,感觉自己的学习道路漫漫且修远。最近受chinaunix的精华文帖启发,拟将近来的部分内核调用分析笔记拿出来与各前辈先进共同探讨学习,以壮个人学习之路。 本部分主要讲述的是文件I/O操作的内核版本实现,包括了主要的数据结构、宏定义和函数流程。以下分别讲述open,create,close,read,write,lseek系统调用。 2.主要参考 《莱昂氏UNIX源代码分析》 《UNIX环境高级编程》主要数据结构对于内核而言,所有打开文件都由文件描述符引用。文件描述符是一个非负整数。当打开一个现存文件或创建一个新文件时,内核向进程返回一个文件描述符。 当读、写一个文件时,用open或creat返回的文件描述符标识该文件,将其作为参数传送给read或write。在应用程序中,文件描述符为常数0、1和2分别代表STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO,意即标准输入,标准输出和标准出错输出,这些常数都定义在头文件;中。 文件描述符的范围是0~OPEN_MAX,在目前常用的linux系统中,是32位整形所能表示的整数,即,64位机上则更多。{ struct list_head f_list; //文件链表指针 struct dentry *f_dentry; // 文件对应的目录结构 struct vfsmount *f_vfsmnt; // 虚拟文件系统挂载点 struct file_operations *f_op; // 文件操作函数指针 atomic_t f_count; unsigned int f_flags; mode_t f_mode; // 文件模式 int f_error; loff_t f_pos; // 文件offset struct fown_struct f_owner; //文件owner 结构 unsigned int f_uid, f_gid; struct file_ra_state f_ra; // 跟踪上次文件操作状态的结构指针 size_t f_maxcount; // 文件大小 unsigned long f_version; void *f_security; // hook 文件操作的security结构指针 void *private_data; // tty 驱动器所需数据#ifdef CONFIG_EPOLL struct list_head f_ep_links; // EPOLL 机制检测所需链表结构 spinlock_t f_ep_lock; // 兼容早期 bug 的标志#endif /* #ifdef CONFIG_EPOLL */ struct address_space *f_mapping; // 地址映射表 }_struct File_struct结构保存了进程打开的所有文件表数据。 struct files_struct { atomic_t count; // 自动增量 spinlock_t file_lock; // 低位成员保护标识 int max_fds; // 最大文件句柄数目 int max_fdset; // 最大的fd集合容量 int next_fd; // 下一个空闲fd struct file ** fd; // 当前fd对应的文件结构指针列表 fd_set *close_on_exec; // 可执行close的fd集合 fd_set *open_fds; // 打开的fd集合 fd_set close_on_exec_init; // fd_set open_fds_init; struct file * fd_array; // 默认打开的fd队列 };下一页
阅读  ┆ 评论 ┆ 转载
(2016-02-05)
转载
标签:

情感

分类: 微小说
本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。 msn: yfydz_no1@hotmail 前言 工作队列的Linux内核中的定义的用来处理不是很紧急事件的回调方式处理方法. 以下代码的linux内核版本为, 源代码文件主要为kernel/数据结构 /* include/linux/*/ // 工作节点结构 struct work_struct { // 等待时间 unsigned long pending; // 链表节点 struct list_head entry; // workqueue回调函数 void ; // 回调函数func的数据 void *data; // 指向CPU相关数据, 一般指向struct cpu_workqueue_struct结构 void *wq_data; // 定时器 struct timer_list timer; }; struct execute_work { struct work_struct work; }; /* kernel/*/ /* * The per-* * The sequence counters are for flush_scheduled_* until all currently-scheduled works arepleted, but it doesn't * want to be livelocked by new,* remove_sequence is >= the insert_sequence which pertained when * flush_scheduled_*/ // 这个结构是针对每个CPU的 struct cpu_workqueue_struct { // 结构锁 spinlock_t lock; // 下一个要执行的节点序号 long remove_sequence; /* Least-recently added */ // 下一个要插入节点的序号 long insert_sequence; /* Next to add */ // 工作机构链表节点 struct list_head worklist; // 要进行处理的等待队列 wait_queue_head_t more_work; // 处理完的等待队列 wait_queue_head_t work_done; // 工作队列节点 struct workqueue_struct *wq; // 进程指针 struct task_struct *thread; int run_depth; /* Detect run_workqueue recursion depth */ } ____cacheline_aligned; /* * The externally visible workqueue abstraction is an array of * per-CPU workqueues: */ // 工作队列结构 struct workqueue_struct { struct cpu_workqueue_struct *cpu_wq; const char *name; struct list_head list; /* Empty if single thread */ }; kernel/中定义了一个工作队列链表,
阅读  ┆ 评论 ┆ 转载
标签:

情感

分类: 微小说
针对好多Linux 爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说linux复杂的内核机制;一.核心源程序的文件组织:1.Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心都是一个稳定地发行的核心,而任何奇数的核心都是一个开发中的核心。本文基于稳定的源代码,第二部分的实现平台为。 2.核心源程序的文件按树形结构进行组织,在源程序树的最上层你会看到这样一些目录:●Arch :arch子目录包括了所有和体系结构相关的核心代码。它的每一个子目录都代表一种支持的体系结构,例如i386就是关于intel cpu及与之相兼容体系结构的子目录。PC机一般都基于此目录;●Include: include子目录包括编译核心所需要的大部分头文件。与平台无关的头文件在 include/linux子目录下,与 intel cpu相关的头文件在include/asm-i386子目录下,而include/scsi目录则是有关scsi设备的头文件目录;●Init: 这个目录包含核心的初始化代码,包含两个文件和,这是研究核心如何工作的一个非常好的起点。●Mm :这个目录包括所有独立于 cpu 体系结构的内存管理代码,如页式存储管理内存的分配和释放等;而和体系结构相关的内存管理代码则位于arch/*/mm/,例如arch/i386/mm/●Kernel:主要的核心代码,此目录下的文件实现了大多数linux系统的内核函数,其中最重要的文件当属;同样,和体系结构相关的代码在arch/*/kernel中;●Drivers: 放置系统所有的设备驱动程序;每种驱动程序又各占用一个子目录:如,/block 下为块设备驱动程序,比如ide。如果你希望查看所有可能包含文件系统的设备是如何初始化的,你可以看drivers/block/中的device_setup。它不仅初始化硬盘,也初始化网络,因为安装nfs文件系统的时候需要网络其他: 如, Lib放置核心的库代码;,核心与网络相关的代码; Ipc,这个目录包含核心的进程间通讯的代码; Fs ,所有的文件系统代码和各种类型的文件操作代码,它的每一个子目录支持一个文件系统,例如fat和ext2;Scripts, 此目录包含用于配置核心的脚本文件等。 一般,在每个目录下,都有一个文件和一个 Makefile 文件,这两个文件都是编译时使用的辅助文件,仔细阅读这两个文件对弄清各个文件这间的联系和依托关系很有帮助;而且,在有的目录下还有Readme 文件,它是对该目录下的文件的一些说明,同样有利于我们对内核源码的理解;二.解读实战:为你的内核增加一个系统调用虽然,Linux 的内核源码用树形结构组织得非常合理、科学,把功能相关联的文件都放在同一个子目录下,这样使得程序更具可读性。然而,Linux 的内核源码实在是太大而且非常复杂,即便采用了很合理的文件组织方法,在不同目录下的文件之间还是有很多的关联,分析核心的一部分代码通常会要查看其它的几个相关的文件,而且可能这些文件还不在同一个子目录下。体系的庞大复杂和文件之间关联的错综复杂,可能就是很多人对其望而生畏的主要原因。当然,这种令人生畏的劳动所带来的回报也是非常令人着迷的:你不仅可以从中学到很多的计算机的底层的知识,体会到整个操作系统体系结构的精妙和在解决某个具体细节问题时,算法的巧妙;而且更重要的是:在源码的分析过程中,你就会被一点一点地、潜移默化地专业化;甚至,只要分析十分之一的代码后,你就会深刻地体会到,什么样的代码才是一个专业的程序员写的,什么样的代码是一个业余爱好者写的。为了使读者能更好的体会到这一特点,下面举了一个具体的内核分析实例,希望能通过这个实例,使读者对 Linux的内核的组织有些具体的认识,从中读者也可以学到一些对内核的分析方法。以下即为分析实例:【一】操作平台:硬件:cpu intel Pentium II ;软件:; 内核版本下一页
阅读  ┆ 评论 ┆ 转载
(2016-02-05)
转载
标签:

情感

分类: 微小说
1。缩进8个字符的长度设置为缩进的长度。这样使得你的代码更加容易阅读,并且提醒你不要nest得过深。 2。断开长的行以及长的字符串要记住我们的代码会被屏幕只有24个字符长度的终端阅读。 3。放置大括号这方面我们遵从C程序员的老祖宗——Kernighan and Ritchie的风格。if {we do y}do {body of do-loop} while ;if {..} else if {...} else {....}定义函数时是个例外,我们这样写int function{body of function}采用这种方式的另外一个好处是,节省空间。我们不需要为单个的括号而占用一行的空间,要知道有些人会使用很小屏幕的终端观看代码,比如PDA用户。 4。命名规则全局的变量或函数采用描述性的名字,务尽其详。而局部函数采用缩略方式加以命名。匈牙利命名法不被推荐。 5。函数函数的一个推荐风格是写得短小精悍,不要超过160x24这样的长度。如果你的函数特别长,你要尽可能得断开它,使它的部分功能放置在别的函数里。如果对性能要求特别明显,那么可以把分出去的函数设置为inline。 6。宏,枚举最好都为大写,但是宏函数例外。 7。不要滥用inlineinline函数的原则是这个函数不超过三行代码,其中的例外就是函数参数中有可以在编译时就确定的常数,而你知道因为这个常数,编译器能够加以优化从而减少函数的代码。
阅读  ┆ 评论 ┆ 转载
(2016-02-05)
转载
标签:

情感

分类: 微小说
在网上查资料时看到几篇介绍 linux driver 编写的文章,其中提到 kmalloc与 __get_free_page返回地址的问题,我们都知道 kmalloc 与 __get_free_page 分配的是物理内存,但它返回的到底是什么?那几篇关于驱动编写的文章中提到申请的是物理地址,返回的依然是物理地址。但有一篇文章中,作者 对此提出了质疑,但没有给出答案。这也就是我写这篇笔记的原因。在找答案的同时也将 linux kernel 分配物理内存的流程做了下分析。这仅是篇笔记,写的比较乱。自己能看懂就行了。 这里只分析分配连续物理地址的函数。对于 vmalloc 这种分配非连续物理地址的函数不在本记录范围之内。 1、kmalloc 分配连续的物理地址,用于小内存分配。 2、__get_free_page 分配连续的物理地址,用于整页分配。 至于为什么说以上函数分配的是连续的物理地址和返回的到底是物理地址还是虚拟地址,下面的记录会做出解释。 kmalloc 函数本身是基于 slab 实现的。slab 是为分配小内存提供的一种高效机制。但 slab 这种分配机制又不是独立的,它本身也是在页分配器的基础上来划分更细粒度的内存供调用者使用。也就是说系统先用页分配器分配以页为最小单位的连续物理地址,然后 kmalloc 再在这上面根据调用者的需要进行切分。 关于以上论述,我们可以查看 kmalloc 的实现,kmalloc函数的实现是在 __do_kmalloc 中,可以看到在 __do_kmalloc代码里最终调用了 __cache_alloc 来分配一个 slab,其实 kmem_cache_alloc 等函数的实现也是调用了这个函数来分配新的 slab。我们按照 __cache_alloc函数的调用路径一直跟踪下去会发现在 cache_grow 函数中使用了 kmem_getpages函数来分配一个物理页面,kmem_getpages 函数中调用的alloc_pages_node 最终是使用 __alloc_pages 来返回一个struct page 结构,而这个结构正是系统用来描述物理页面的。这样也就证实了上面所说的,slab 是在物理页面基础上实现的。kmalloc 分配的是物理地址。 __get_free_page 是页面分配器提供给调用者的最底层的内存分配函数。它分配连续的物理内存。__get_free_page 函数本身是基于 buddy 实现的。在使用 buddy 实现的物理内存管理中最小分配粒度是以页为单位的。关于以上论述,我们可以查看__get_free_page的实现,可以看到__get_free_page函数只是一个非常简单的封状,它的整个函数实现就是无条件的调用 __alloc_pages 函数来分配物理内存,上面记录 kmalloc实现时也提到过是在调用 __alloc_pages 函数来分配物理页面的前提下进行的 slab 管理。那么这个函数是如何分配到物理页面又是在什么区域中进行分配的?回答这个问题只能看下相关的实现。可以看到在 __alloc_pages 函数中,多次尝试调用get_page_from_freelist 函数从 zonelist 中取得相关 zone,并从其中返回一个可用的 struct page 页面。至此,可以知道一个物理页面的分配是从 zonelist中的 zone 返回的。那么 zonelist/zone 是如何与物理页面关联,又是如何初始化的呢?继续来看 free_area_init_nodes 函数,此函数在系统初始化时由 zone_sizes_init 函数间接调用的,zone_sizes_init函数填充了三个区域:ZONE_DMA,ZONE_NORMAL,ZONE_HIGHMEM。并把他们作为参数调用 free_area_init_nodes,在这个函数中会分配一个 pglist_data 结构,此结构中包含了 zonelist/zone结构和一个 struct page 的物理页结构,在函数最后用此结构作为参数调用了 free_area_init_node 函数,在这个函数中首先使用 calculate_node_totalpages 函数标记 pglist_data 相关区域,然后调用 alloc_node_mem_map 函数初始化 pglist_data结构中的 struct page 物理页。最后使用 free_area_init_core函数关联 pglist_data 与 zonelist。现在通以上分析已经明确了__get_free_page 函数分配物理内存的流程。但这里又引出了几个新问题,那就是此函数分配的物理页面是如何映射的?映射到了什么位置?到这里不得不去看下与 VMM 相关的引导代码。 在看 VMM 相关的引导代码前,先来看一下 virt_to_phys 与phys_to_virt 这两个函数。顾名思义,即是虚拟地址到物理地址和物理地址到虚拟地址的转换。函数实现十分简单,前者调用了__pa 转换虚拟地址到物理地址,后者调用 __va(a
阅读  ┆ 评论 ┆ 转载
标签:

情感

分类: 微小说
所有的Unix内核都同宗同源,并且提供相同的API,现代的Unix内核存在许多设计上的相似之处。Unix内核几乎毫无例外的都是一个不可分割的静态可执行块。也就是说,它们必须以完整、单独的可执行块的形式在一个单独的地址空间中运行。Unix内核几乎都需要硬件系统提供页机制以管理内存。这种页机制可以加强内存空间的保护,并保证每个进程都可以运行于不同的虚地址空间上。 单内核与微内核设计之比较 操作系统内核可以分为两大设计阵营:单内核和微内核。 单内核是两大阵营中一种较为简单的设计,在1980年之前,所有的内核都设计成单内核。所谓单内核就是把它从整体上作为一个单独的大过程来实现,并同时运行在一个单独的地址空间。因此,这样的内核通常以单个静态二进制文件的形式存放于磁盘。所有内核服务都在这样的一个大内核空间中运行。内核之间的通信是微不足道的,因为大家都运行在内核态,并身处同一地址空间:内核可以直接调用函数,这与用户空间没有什么区别。这种模式的支持者认为单模块具有简单和高性能的特点。大多数Unix系统都设计为单模块。 另一方面,微内核并不作为一个单独的大过程来实现。相反,微内核的功能被划分为独立的过程,每个过程叫做一个服务器。理想情况下,只有强烈请求特权服务的服务器才运行在特权模式下,其他服务器都运行在用户空间。不过,所有的服务器都保持独立并运行在各自的地址空间。因此,就不可能像单模块内核那样直接调用函数,而是通过消息传递处理微内核通信:系统采用了进程间通信机制,因此,各种服务器之间通过IPC机制互通消息,互换“服务”。服务器的各自独立有效地避免了一个服务器的失效祸及另一个。 同样,模块化的系统允许一个服务器为了另一个服务器而换出。因为IPC机制的开销比函数调用多,又因为会涉及内核空间到用户空间的上下文切换,因此,消息传递需要一定的周期,而单内核中简单的函数调用没有这些开销。基于此,付之于实际的微内核系统让大部分或全部服务器位于内核,这样,就可以直接调用函数,消除频繁的上下文切换。Windows NT内核和Mach是微内核的典型实例。不管是Windows NT还是Mac OS X,都在其新近版本中不让任何微内核服务器运行在用户空间,这违背了微内核设计的初衷。 Linux是一个单内核,也就是说,Linux内核运行在单独的内核地址空间。不过,Linux汲取了微内核的精华:其引以为豪的是模块化设计、抢占式内核、支持内核线程以及动态装载内核模块的能力。不仅如此,Linux还避其微内核设计上性能损失的缺陷,让所有事情都运行在内核态,直接调用函数,无需消息传递。至今,Linux是模块化的、多线程的以及内核本身可调度的操作系统。实用主义再次占了上风。 当Linus和其他内核开发者设计Linux内核时,他们并没有完全彻底地与Unix诀别。他们充分地认识到,不能忽视Unix的底蕴。而由于Linux并没有基于某种特定的Unix,Linus和他的伙伴们对每个特定的问题都可以选择已知最理想的解决方案—在有些时候,当然也可以创造一些新的方案。以下是对Linux内核与Unix各种变体的内核特点所作的分析比较: ·Linux支持动态加载内核模块。尽管Linux内核也是单内核,可是允许在需要的时候动态地卸除和加载部分内核代码。 ·Linux支持对称多处理机制,尽管许多Unix的变体也支持SMP,但传统的Unix并不支持这种机制。 ·Linux内核可以抢占。与传统的Unix不同,Linux内核具有允许在内核运行的任务优先执行的能力。在其他各种Unix产品中,只有Solaris和IRIX支持抢占,但是大多数传统的Unix内核不支持抢占。 ·Linux对线程支持的实现比较有意思:内核并不区分线程和其他的一般进程。对于内核来说,所有的进程都一样—只不过其中的一些共享资源而已。 ·Linux提供具有设备类的面向对象的设备模型、热插拔事件,以及用户空间的设备文件系统。 ·Linux忽略了一些被认为是设计得很拙劣的Unix特性,像STREAMS,它还忽略了那些实际上已经根本不会使用的过时标准。 ·Linux体现了自由这个词的精髓。现有的Linux特性集就是Linux公开开发模型自由发展的结果。如果一个特性没有任何价值或者创意很差,没有任何人会被迫去实现它。相反的,在Linux的发展过程中已经形成了一种值得称赞的务实态度:任何改变都要针对现实中确实存在的问题,经过完善的设计并有正确简洁的实现。于是,许多其他现代Unix系统包含的特性,如内核换页机制,都被毫不迟疑的引入进来。 不管Linux和Unix有多大
阅读  ┆ 评论 ┆ 转载
(2016-02-05)
转载
标签:

情感

分类: 微小说
NT和Linux共存的最简单的方法就是在安装linux的 lilo时,选择将lilo安装在LInux主分区的引导区中。然后使用win98的启动盘重新启动以后,运行fdisk将linux主分区设置为 active,这样就可以实现在系统启动时首先lilo选择,若不选择linux,则nt loader。 但是有时候为了方便而需要使用 nt loader 来引导linux,下面就是实现的方法。 你应该牢牢记住的最重要的一点是,许多软件产品会利用硬盘上面仅有的那个宝贵的主引导记录MBR。NT是这样,没有选择余地; Linux也可以这样,如果你喜欢。机器的BIOS会执行储存在当前激活分区的信息,来初始化你希望的*作系统。 NT 安装后,MBR会被修改成去引导一个在激活分区的根目录下,叫NTLDR的程序。原来的MBR会被存到一个叫的小文件中。NT安装完成后要记住绝不能覆盖这个MBR, 否则NT将无法启动。以防万一, NT的用户需要NT的应急修复磁盘。 记住了这些后,就要注意设定LILO时***不能***装到MBR中去,而是装到Linux的root分区中去。这样,对NT而言,不会带来问题;而 Linux没有MBR也可以活下去。 & nbsp;NT的引导过程 当NTLDR启动, NT用户看到"" 后,它会切换处理器到386状态,并启动一个非常小的文件系统。接着,它会去读文件,看是否有其它*作系统存在,并显示一个选择菜单。下面是一个典型的: timeout=30 default=multidiskrdiskpartitionWINNT multidiskrdiskpartitionWINNT="NT V4 is here" multidiskrdiskpartitionWINNT="NT V4 VGAMODE" /basevideo /sos C:="DOS is here"有两部分构成。 "boot loader section"部分指定菜单在屏幕上的停留时间,和缺省菜单选项。"opearating systems section" 部分指定可选的*作系统种类。可以看到机器可以启动NT和DOS。从这个例子我们可以推断,DOS从硬盘C:启动,而NT从第二个分区启动。典型安装时,会以DOS的FAT文件系统格式化一个C:的分区,然后将NT装在另外一个NTFS的分区。 如果用户选择了启动NT, 另外一个程序NTDETECT,就会开始进行硬件检查。如果一切正常,NT内核就会被装入,正如我们都知道的那样。 再来看如果启动的不是NT的情形。此时,NTLDR 需要知道非NT OS引导所必需的引导扇区是哪个。此时,相应的引导扇区映象必须要在一个小小的512字节的文件中。比如,要引导DOS,NTLDR 将会寻找一个叫的引导扇区映象文件。这个映象文件是NT的安装程序产生的。 那么,引导Linux又是怎样呢?这很简单,需要的只是一个引导扇区映象文件,姑且称之为。必须将放到C:, 并要修改。此时"operating systems ection"部分看起来应该是这样的: multidiskrdiskpartitionWINNT="NT V4 is here" multidiskrdiskpartitionWINNT="NT V4 VGAMODE" /basevideo /sos C:="DOS is here" C:="Now Linux is here" 修改,可以用任何普通ASCII文本编辑器。这个文件的正常属性为系统-隐藏-只读,所以你必须用 'attrib' DOS 命令或在NT中,用文件属性对话框中来变更属性。 现在我们将注意力转到 Linux。我们需要安装Linux,定制LILO,产生文件。 第一步是装好Linux。我们都知道怎么做:为Linux选适当的系统,SWAP,和用户分区,运行安装程序,等等。一切顺利时,这一步在45分钟之内就可以完成。 接下去就要定制LILO。我们知道怎么做,但要注意*不能* 将LILO装到MBR中去)。设定LILO时,要选择将它装到你Linux 的root分区。如果你还不知道如何设定LILO, 就花几分钟读读HOW-TO文献,或者就用一些好的安装程序,我是用的, 因此我的安装程序就是 'yast' 。 LILO定制好之后,我们必须用'dd'来产生引导记录映象文件。以root Login后,按以下做: # dd if=/dev/hda3 bs=512 count=1 of=/dosc/如果没有能将FAT C: partition mount成为 /dosc,譬如说由于这个分区被以NTFS方式格式化,不能访问这个分区。此时可以将写
阅读  ┆ 评论 ┆ 转载
标签:

情感

分类: 微小说
使用 Linux 系统调用的内核命令 级别: 中级, 顾问工程师, Emulex2007 年 4 月 17 日 Linux® 系统调用 —— 我们每天都在使用它们。不过您清楚系统调用是如何在用户空间和内核之间执行的吗?本文将探究 Linux 系统调用接口,学习如何添加新的系统调用,并介绍与 SCI 有关的一些工具。 系统调用就是用户空间应用程序和内核提供的服务之间的一个接口。由于服务是在内核中提供的,因此无法执行直接调用;相反,您必须使用一个进程来跨越用户空间与内核之间的界限。在特定架构中实现此功能的方法会有所不同。因此,本文将着眼于最通用的架构 —— i386。 在本文中,我将探究 Linux SCI,演示如何向内核添加一个系统调用,然后从用户空间来使用这个函数。我们还将研究在进行系统调用开发时非常有用的一些函数,以及系统调用的其他选择。最后,我们将介绍与系统调用有关的一些辅助机制,比如在某个进程中跟踪系统调用的使用情况。SCI Linux 中系统调用的实现会根据不同的架构而有所变化,而且即使在某种给定的体架构上也会不同。例如,早期的 x86 处理器使用了中断机制从用户空间迁移到内核空间中,不过新的 IA-32 处理器则提供了一些指令对这种转换进行优化。由于存在大量的方法,最终结果也非常复杂,因此本文将着重于接口细节的表层讨论上。 要对 Linux 的 SCI 进行改进,您不需要完全理解 SCI 的内部原理,因此我将使用一个简单的系统调用进程。每个系统调用都是通过一个单一的入口点多路传入内核。eax 寄存器用来标识应当调用的某个系统调用,这在 C 库中做了指定。当加载了系统的 C 库调用索引和参数时,就会调用一个软件中断,它将执行 system_call 函数,这个函数会按照 eax 内容中的标识处理所有的系统调用。在经过几个简单测试之后,使用 system_call_table 和 eax 中包含的索引来执行真正的系统调用了。从系统调用中返回后,最终执行 syscall_exit,并调用 resume_userspace 返回用户空间。然后继续在 C 库中执行,它将返回到用户应用程序中。图使用中断方法的系统调用的简化流程 SCI 的核心是系统调用多路分解表。这个表如图 2 所示,使用 eax 中提供的索引来确定要调用该表中的哪个系统调用。图中还给出了表内容的一些样例,以及这些内容的位置。图系统调用表和各种链接添加一个 Linux 系统调用系统调用多路分解有些系统调用会由内核进一步进行多路分解。例如,BSDsocket 调用都与一个单独的系统调用索引关联在一起,不过在内核中会进行多路分解,通过另外一个参数适当的调用。请参看 ./linux/中的
阅读  ┆ 评论 ┆ 转载
标签:

情感

分类: 微小说
Linux 和对称多处理应用程序介绍 如主流中央处理器供应商所证明的那样,多核处理器随时准备着占领桌面和嵌入式市常多处理带来了更高的性能,也同时带来了新的问题。本文将探讨多处理和开发使用 SMP 的 Linux® 应用程序背后的思想。 可以通过多种方法提高 Linux 系统的性能,而其中最流行的一种是提高处理器的性能。一个明显的解决方案是使用具有更快时钟频率的处理器,但是对于任何特定技术来讲都存在一个物理极限,时钟频率也有这样的极限。当达到那个极限时,可使用 “越多越好” 的方法应用多处理器。不幸的是,多处理器的性能并不与单个处理器性能的总和成线性比例。 在开始讨论 Linux 中的多处理应用程序之前,我们先来快速地回顾一下多处理的历史。多处理的历史 Flynn 的多 CPU 架构分类Single Instruction, Single Data 是典型的单处理器架构。Multiple Instruction, Multiple Data 多处理架构拥有一些独立的处理器,它们各自操作独立数据。最后,Single Instruction, Multiple Data 拥有操作不同数据的大量处理器。 请参阅下面的 参考资料 部分,获取 Flynn 的原始文件的详细信息。 多处理起源于 20 世纪 50 年代中期的一些公司,这些公司中有些您可能知道,而另一些您可能就不记得了。20 世纪 60 年代早期,Burroughs Corporation 引入了一种对称 MIMD 多处理器,它带有四个 CPU 并通过交叉开关可连接最多十六个内存模块。1964 年引入了 CDC 6600,它的使用比较成功并得到流行,它提供了一个带有十个子处理器的 CPU。20 世纪 60 年代末,Honeywell 发布了它的第一个 Multics 系统,这是带八个 CPU 的另一种对称多处理系统。 在开发多处理系统的同时,各种技术的使用也提高了缩小处理器体积和运行更快的时钟频率的能力。20 世纪 80 年代,Cray Research 等公司引入了多处理器系统和类似 UNIX® 的操作系统,以便利用这些能力。 20 世纪 80 年代末期,随着单处理器个人计算机系统的流行,多处理系统的使用呈下降趋势。但是到了二十年后的现在,多处理利用对称多处理技术又回到了个人计算机系统中。Amdahl 法则 Gene Amdahl 是一名计算机架构师、IBM 职员,在 IBM、Amdahl Corporation和其他一些公司从事计算机架构开发。但是最著名的是他的法则,该法则用于在改进系统的一部分后预测最大的预期系统改进。它主要用来计算使用多处理器后理论上的最大性能改进。图处理器并行化的 Amdahl 法则 使用图 1 所示的等式,可计算系统的最大性能改进,N 表示处理器的数目,而因数 F 指定不能并行化的系统部分。结果如图 2 所示。图最多十个 CPU 的 Amdahl 法则 图 2 中最上面的一条线显示了处理器的数目。理想状态下,添加另外的处理器来解决问题时,希望看到这样的性能增长。不幸的是,并非所有的问题都可以并行化,而且还有管理处理器的开销,所以速度的提高并没有这么大。底部是一个 90% 的处理属于顺序性的问题例子。在此图中,最佳的情况是棕色的线,它展示了一个 10% 顺序性的问题。即使在这种情况下,十个处理器的执行性能也只比五个稍好一点儿。
阅读  ┆ 评论 ┆ 转载
(2016-02-05)
转载
标签:

情感

分类: 微小说
Ubuntu Linux下播放Real多媒体的方法 在Ubuntu下有个很方便的Rhythmbox播放器但是兄弟手中有许多的RMVB片子,怎么也放不出,总报缺少Real Video 4解码器的错,按提示自动升级也没有用。急啊,回windows转片子格式 , 晕,又慢画面又差。又去REAL 下载了最新版的REALPLAYER , 安装成功,一运行就报错。 郁闷埃就这么拖了两个星期,忽然在新立得里看到Helix Player,不就是RealPlayer的开源版么试试,安装成功!!!!可是不支持RM,RMVB等Real自己的格式,又晕了灵机一动 , 不是有安装好没有办法运行的RealPlayer么 , Helix Player不就是缺解码器么 ,它们的插件机制是一样的 , 我把Helix player缺的东西从Realplayer那边复制过来不就可以了么 , 一试, 果然成了HOHO~~~尽情在Ubuntu里享受吧~~~
阅读  ┆ 评论 ┆ 转载
(2016-02-05)
转载
标签:

情感

分类: 微小说
问:术语GUI,window manager,desktop和interface间的区别,它们和X window有什么关系? 答:在X的世界里,事物是分成很多组件的,而不象其他的操作系统那样,任何东西都是OS的一个部分。 这里是一些定义: Interface是一个普通术语,意思是指在计算机系统的两个互不依赖的组件间的连结,一个桥。它通常用来指“user interface”就是用户和计算机系统之间联系的部分。 GUI是另一个普通术语。代表graphical user interface,图形用户界面。它就想它听起来那么漂亮;它是一个主要是图形组成的用户界面。Mac OS和Windows都是GUI的,实际上,现在相当多都用于桌上型电脑。 在Mac OS和Windows,构件图形界面的功能都做在了操作系统里面,你只能使用那些。这个方法很简单,但是却不灵活。Unix和类Unix的操作系统没有内建这个功能,要使用GUI你就不得不使用“windowing system”。X就是其中之一——现在看来是唯一的一个。 X提供的功能是在屏幕上构造方块,然后画出里面的元素,它并不支持这些功能: a)移动窗口、改变它们的大小,关闭它们; b)象按钮菜单这样的标准控件; c)为设计用户界面、编程的标准,或程序间的交互操作。 Window manager是个可以方你移动窗口和改变它们大小的程序。它通常也支持把一个窗口缩成一个图标或任务条。通常有某种程序执行机构。用户可以使用 window manager来做他想做的——任何X应用程序应该可以在任何窗口管理器上工作。但是你依次进能运行一个。这就是说,你可以切换于任何多个window manager,但是同一时刻你进能运行一个。屏幕上的所有程序都可以被正在运行的window manager管理。 widget 集是一个常规的工具库,程序员使用它来构造象按钮和菜单这样的标准控件和帮助程序,你可以在它们之间拖拽。你同时可以安装多个桌面环境,而且你可以在一个桌面环境中运行另一个不同的桌面环境的应用程序,而不用切换过去。就是说,如果你使用GNOME,但是你喜欢KDE的字处理器 KLyX,那么你可以运行KLyX,而不运行任何其他的KDE程序,但是它就不能和你那些GNOME的程序互相交互了。你甚至可以同时运行GNOME和 KDE的核心程序,事实上这没有什么意义,你会同时有两个文件管理器,两个面板,等等。 问:所有的窗口管理器、程序可能不是同时基于GNOME和KDE的; 2)、你不得不安装GNOME的库来运行基于KDE的软件; 3)、你可以并行的运行GNOME的应用程序和KDE的应用程序; 4)、如果你使用任何一个环境,你总是可以运行非基于该环境的应用程序。问:GTK 或Troll到底是什么? 答:GTK和Qt都是widget集。也就是说,它们提供了按钮,菜单,滚动条和各种各样的对象给程序开发人员使用。注意,非基于GNOME或KDE的应用程序能够使用GTK 或Qt,但是所有的GNOME程序都使用GTK ,所有的KDE应用程序都使用Qt。 问:Linux窗口管理器的历史和Windows98/95的用户使用的桌面相比怎么样?特别是,如何评价微软通过给定用户仅仅一种桌面来限制他们的选择,这种桌面据信是一种为方便用户使用而设计的。 答:这是一个很复杂的问题,从本质上来讲,Windows提供了一个由窗口系统、窗口管理器、widget集和桌面环境共同组成的构造集,因此每个人都只能使用它,而不能选择它们喜欢的。 问:通用桌面环境怎么样了?它是因为太消耗系统资源或是未开放源码而没有被Linux用户广泛采用吗? 答:是的,它占用太多的内存。你可以从RedHat那里得到它。
阅读  ┆ 评论 ┆ 转载
(2016-02-05)
转载
标签:

情感

分类: 微小说
招商银行专业版本越来越变态了如果是文件证书的现在开始检测虚拟机 如果发现有虚拟机就不干活现在提供两种解决方案如下, 都经过linux下面的测试 今天肯定有效 不过不保证一直有效 说不定招烦很行哪天升级就不好使了使用招商银行的usb key, 我测试过 使用33型的key, 在vmware和virtual box的虚拟机里面 都可以正常运行专业版本 不过这个key是要花钱的如果你的电脑足够快 那么首先你把你的vmware虚拟机里面的操作系统调到最快的状态 然后关闭虚拟机打开vmware 虚拟机的配置文件, 这是一个后缀为vmx的文本文件. 在里面加入以下内容:= "TRUE"= "TRUE"= "TRUE"= "TRUE"monitor__directexec = "TRUE"monitor__chksimd = "TRUE"monitor__ntreloc = "TRUE"monitor__selfmod = "TRUE"monitor__reloc = "TRUE"monitor__btinout = "TRUE"monitor__btmemspace = "TRUE"monitor__btpriv = "TRUE"monitor__btseg = "TRUE"这些参数不一定都需要 不过最保险的是都加可以提高模拟的真实性 不过速度也会慢很多对今天的招商银行专业版而言只需要加= "TRUE"~= "TRUE"~这两个 这个不影响虚拟机速度请在修改vmx文件完毕后测试vmware是否能登录专业版
阅读  ┆ 评论 ┆ 转载
标签:

情感

分类: 微小说
本文主要写给为那些习惯了原汁原味的En操作系统,但是又因为其他原因需要输入汉字的朋友发行版还是Gentoo,其他的发行版本可以参考各自的配置文件和相关软件。首先,你需要安装相关的字体,命令如下:# emerge arphicfonts wqy-bitmapfont cjkuni-fonts corefonts ttf-bitstream-vera某些字体可能被“~些6”给Masked了,可以用加入EPT——KEYWORDS=“~x86”的前缀来安装# EPT_KEYWORDS="~x86" emerge arphicfontswqy-bitmapfont cjkuni-fonts corefonts ttf-bitstream-vera接下来修改你的文件,并加入如下内容en_US ISO-8859-1en_-8 UTF--8 UTF-8然后运行locale-gen得到相应的locale。接着创建一个100i18n的环境变量文件。# nano /etc//100i18n并在其中加入如下内容,LANG=en_-8LC_CTYPE=-8LC_NUMERIC=
阅读  ┆ 评论 ┆ 转载
(2016-02-05)
转载
标签:

情感

分类: 微小说
从Windows PC迁移到基于Linux的桌面系统并非易事。所以,在开始着手之前,CIO要考虑下列六个问题和策略。 1、迁移之前,先从Office下手 在考虑用Linux作为桌面操作系统之前,应当先在最终用户的桌面上安装OpenOffice应用程序套件,让用户领略开源软件是什么样的。因为Office工具是大多数企业员工最经常使用的应用程序,所以用户熟悉新的Office平台比熟悉新的桌面环境来得重要。 Chris Tyler是多伦多塞内加大学的计算机学教授,也是《Fedora Linux: Red Hat的社区发行版完全指南》一书的作者。他说:“说到挑选迁移到Linux桌面的用户群,Office用户是最容易取得成功的对象。” 微软Office的用户对熟悉OpenOffice版本的Word、Excel和PowerPoint应该不会有多大问题。考虑到微软Office最近经过了重新设计,从旧版本的Office改用OpenOffice学起来恐怕比改用新版本Vista的Office来得省力。 2、找出并征求高级用户的意见 IBM公司全球Linux桌面战略部门的高级项目经理Greg Kelleher说,企业中使用微软Office或者基于Windows的其他应用程序的高级用户是一个颇有影响力的群体,他们有时关系到Linux迁移项目的成败。 Kelleher最近在出席有关桌面Linux的会议时说:“高级用户对整个企业具有这种影响力,这确实让人震惊。”譬如说,企业财务部门里面的某个高级用户可能会建立一个特殊的电子表格,使用定制的宏和表。这个电子表格在企业里面广泛使用,成为开支报告模板。 这位高级用户可能并未因此而得到任何表扬,IT或者应用程序人员可能甚至不知道这一点。但要是这个人的电子表格突然无法正常使用,企业的日常工作确实会受到影响。 找出编制定制代码的高级用户有助于避免这样的重大错误。如果让高级用户参与迁移过程的早期阶段,他们也可能成为Linux桌面迁移计划的重要支持者。这群用户有时候为部门充当“本地”技术支持或者PC支持专家,为用户提供的PC和应用程序支持往往不少于IT部门。 3、调查用户的应用程序,找出其中特别适合改用开源的 Jonathan Parshall是集成Linux/Windows桌面软件的CodeWeavers公司的首席运营官,他说,如果用户使用的许多应用程序没有相应的开源版本,或者需要庞大的代码移植工作才能迁移到Linux环境,那么恐怕不值得更换桌面。他说:“看一下有没有一两种应用程序特别适合改用开源的情况。” 如果范围缩小到一两种应用程序,不妨试用像WINE项目这样的工具。WINE可以提供Windows DLL模拟功能,让Windows应用程序可以在Linux机器上运行。 Parshall说:“要是有人想迁移一千个只有几个基本应用程序的桌面,那么这能做到。要是有人想迁移几十台机器,但上面装有几十个离不开Windows的应用程序,那么不妨考虑继续使用Windows。” 4、从后端系统做起,为桌面Linux的成功做好准备 当然,部署Linux桌面对主要基于微软活动目录或者服务器大部分基于Windows的企业来说颇具难度。 教授兼作家Tyler说:“即使只有一个基于Windows的文件服务器,该服务器也要确保Linux客户机上的一切能够顺畅运行。如果构建了基于轻型目录访问协议的目录结构,就非常适合于Linux/Windows混合环境。”基于活动目录的网络会有更多的工作要做。 科罗拉多州斯廷博特斯普林斯市的IT管理员Vince O'Connor现在就采取了一种后门方法来促使用户改用Linux桌面。第一步就是安装PostPath电子邮件和协作服务器。PostPath是基于 Linux的电子邮件服务器,它可以模拟微软Exchange服务器,让微软Outlook客户程序可以使用电子邮件、日历和群组等功能。Samba这个开源文件和打印服务器软件包是许多IT部门喜欢的常备工具,它支持与Windows PC共享文件、使用打印机的混合环境。O'Connor事先料到会有更多的Linux机器投入使用,早就部署了混合环境。 5、考虑细节问题 Tyler 说:“一个非常重要的方面就是部署同样或者类似的字体。Linux上标准OpenOffice的字体集非常类似微软的Office字体集。”不过要实现真正的兼容,用户还要有微软Web字体――几年前微软还提供这些字体。虽然此后微软停止发布这些字体,但发布许可证还是允许它们可以继续发布、使用。 Tyler说: “这包括像Arial和MSic Sans这些字体。”有许多也提供这些字体。 IBM的 Kelleher说,在进行较庞大的桌面迁移之前,开始先让用户迁移到与Linux、Windows及其他平台兼容的文档格式是应当采取的另一个步骤。他说: “这个策略的一方面不仅仅是迁移最终用户和应用程序的策略
阅读  ┆ 评论 ┆ 转载
(2016-02-05)
转载
标签:

情感

分类: 微小说
FireFox的扩展插件有成百上千,你要用哪个呢?这里收集了50个流行的扩展插件,下载后安装,会让你的FireFox浏览更轻松。请注意,大多数扩展插件可以在上使用,如果无法使用,那么使用Nightly Tester Tools扩展来让他们工作。当一个新的FireFox版本发布后,这个扩展插件可以允许你轻松更新这些已经存在的扩展。标签页管理All-in-One Gestures - 多合一鼠标手势,集合了流行的滚动、导航等方位插件的鼠标手势。Tabbrowser Preferences - 增强式标签页浏览扩展,提供一个很全面的图形界面,以便让用户能够轻松更改Firefox中的隐藏设置,让Firefox的标签页浏览功能更加强大和完善,并提供关于链接打开方式的详细设置。Tab Mix Plus - 在页签上增加了更多的功能,允许你在一个页签上打开多个链接,或者在多个页签打开同一个链接,合并或者关闭同一个的链接等。Restart Firefox - 在文件菜单中加了一项“重启firefox”,在安装扩展或插件后,使用这个插件可以很方便,不用关闭FireFox。Sessionsaver - 恢复上一次打开的页面,如果你上次用过FireFox的话,这对于崩溃的FireFox同样有效。Duplicate Tab - 允许你在新窗口或当前窗口复制相同的页签。Colorful Tabs - 可以让打开的标签变成彩色的,使得界面美化。Viamatic foXpose - 在状态栏上增加一个图标,点一下就可以打开所有的页签。Firefox Showcase - 简化定位和选择当前窗口的操作。Separe - 帮助整理当前页签。Permatabs - 使得一个被选定的页签不能被关闭,并且永远驻留在内存。FaviconizeTab - 调整页签的宽度,并且只显示图标。网页链接管理Linky - 下载选中内容中的所有的网页、图像、文件链接等等。WebMaipose - 让网页上的发邮件链接自动转移到web邮件的发送邮件地址。Linkification - 使得FireFox可以在查看纯文本的时候识别链接地址并打开链接。IE Tab - 使用IE内核访问网页。对于只支持IE的页面特别有用。FirefoxView - 在IE中使用FireFox打开当前的页面。Paste and Go - 让你粘贴URL到地址栏后自动打开页面,或者使用快捷键Ctrl-Shift-V。ErrorZilla - 修改默认的404错误页面为一个Google的缓存页面。文件下载管理FlashGot - 多线程下载工具。PDF Download- 提供浏览者对PDF更多的操控方式,当你点击一个PDF链接时Firefox会弹出一个对话框供你进行选择性操作:下载、在标签页打开、在新标签页中以HTML方式查看、取消。ScrapBook - 方便的保存与管理网页。DownThemAll - 只需一点即可下载网页中的所有连接。TargetAlert TargetAlert - 可以帮你扫描网页中的所有超链接,在符合特定文件类型的超链接后面,加上一个特定的图标,让你可以不用去看网址就可以知道这是什么类型的文件。Download Manager Tweak- 修改FireFox默认的下载管理器,使其可以在书签列或标签页中开启下载管理窗口。Download Statusbar - 让你可以从状态列看出目前下载文件的进度。Disable Targets For Downloads- 在点击链接下载文件时,防止打开新窗口。FireFTP- 在FireFox中实现的一个完全免费的、安全的、跨平台的FTP客户端功能。下一页
阅读  ┆ 评论 ┆ 转载
(2016-02-05)
转载
标签:

情感

分类: 微小说
下载到必要的软件包 * MPlayer 的源代码,我用的是 MPlayer-。 * Patch的名字是 mplayer-_pre7-4-,顾名思义,mplayer 在 -的环境中编译,也就是 fc4t2 升级后的 fc3 中,使用了 -的时候,必须要打这个 patch 才能编译成功。 * 必要的解码器,也就是 essential-codecs, 或者也可以下载 all-codecs。 * 一些解码器是可选的,比如 LIVE 还有 lzo, libmad 等等。 * 准备一个中文的 ttf 字体。 不过这个大家都有,不用去别处找。环境介绍 也就是说,我们要在什么样的环境里使用 MPlayer。 * 没有图形界面,机器上没有 gtk-所以就不用图形界面了。 * 默认 locale 为 UTF-8 编码。编译步骤 1). 准备 codecs 本来我以为不需要 /usr/local/lib/codecs,但是后来发现会找不到 xanim codecs,所以还是需要它。 链接到 /usr/lib/win32 是因为可以与 xine-lib 共享这些解码器。 # tar jxf all-# mv all- /usr/local/lib/codecs # ln -s /usr/local/lib/codecs /usr/lib/win322). 解压 # tar jxf MPlayer-# cd MPlayer-). 打补丁 当然,只有 -的时候才需要打补丁,并且这个补丁只适合这次的情况,也就是说,只对这个 MPlayer-有效果。注意啊,我们现在在源代码目录了。下面是执行结果,好多文件被打上了补丁 # patch -p1 </mplayer-_pre7-4-///libpostproc/postprocess_//aclib_/swscale_
阅读  ┆ 评论 ┆ 转载
  
百盛娱乐城 版权所有    Copyright ? 2016 Limited All Rights Reserved.
Baidu