Linux
crazyingbird
先不写了
展开
-
《深入理解Linux内核》读书笔记-第二章-内存寻址(2)
硬件中的分页:32位的线性地址被分成3个域:高10位:页目录表中间10位:页表低12位:页表内偏移使用二级页表模式的目的在于减少每个进程页表所需RAM数量。如果是一级页表,则需高达220个表项,而二级模式只为进程实际使用的那些虚拟内存区请求页表。页目录项和页表项有同样的结构,均包含了一些属性字段。评:段页属性字段的设置很有意义,分段、原创 2012-01-06 14:32:06 · 1824 阅读 · 0 评论 -
《深入理解Linux内核》读书笔记-第四章-中断和异常(1)
中断(interrupt)通常被定义为一个事件,该事件改变处理器执行的指令顺序。这样的事件与CPU芯片内外部硬件电路产生的电信号相对应。中断通常分为同步(synchronous)中断和异步(asynchronous)中断:同步中断是当指令执行时由CPU控制单元产生的,之所以称为同步,是因为只有在一条指令终止执行后CPU才会发出中断。异步中断是由其他硬件设备依照CPU原创 2012-02-18 12:01:30 · 2058 阅读 · 0 评论 -
《深入理解Linux内核》读书笔记-第三章-进程(2)
<!--@page {margin:2cm}h2 {margin-top:0.46cm; margin-bottom:0.46cm; line-height:171%; page-break-inside:avoid}h2.western {font-family:"Arial",sans-serif; font-size:16pt}h2.cjk {原创 2012-02-11 13:41:46 · 1445 阅读 · 0 评论 -
物理地址扩展(PAE)分页机制
Intel通过在处理器上把管脚数从32增加到36,以提高处理器的寻址能力,使其达到2^36=64GB,为此,需引入一种新的分页机制。 64GB的RAM被分为2^24个页框,页表项的物理地址字段从20位扩展到24位,每个页表项必须包含12个标志位(固定)和24个物理地址位(36-12),共36位,因此,每个页表项须从32位扩展到64位(36位>32位,考虑到对齐,因此应原创 2012-01-04 16:52:35 · 4732 阅读 · 2 评论 -
Ubuntu 11.10下搭建Web服务器
以下内容转自:http://server.zol.com.cn/283/2831800_all.html#p2833173Ubuntu企业级市场力压Red Hat 近日,有消息爆出Linux桌面已经趋于“死亡”,众多Linux爱好者感到失望,但令人可喜的是Linux在服务器领域表现却尤为喜人,据IDC数据显示,部署了Linux系统的服务器占到20%的市场份额。其中Red Ha转载 2012-04-03 13:37:17 · 2715 阅读 · 1 评论 -
编译与链接的问题 gcc -fPIC -shared
地址无关代码,在64位下编译动态库的时候,经常会遇到下面的错误/usr/bin/ld: /tmp/ccQ1dkqh.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC提示说需要-fPIC编译,然后在链接转载 2015-08-11 16:47:01 · 2972 阅读 · 0 评论 -
Redhat 6.6 + Qt5.5 编译QOCI驱动
由于使用的免费版本的Qt5.5,只自带了MYSQL、SQLITE、PSQL的数据库驱动,为了适配ORACLE数据库,需根据源码编译QOCI驱动。在已经安装了ORACLE的情况下,编译过程如下:cd $QTDIR/../Src/qtbase/src/plugins/sqldrivers/oci/qmake -o Makefile "INCLUDEPATH+=$OR原创 2015-09-06 16:18:17 · 2019 阅读 · 0 评论 -
QProcess处理带管道的shell
代码中需要调用shell,原写法为: QProcess *proc = new QProcess(); QString qCmd = "find ./ -name *.so -print0 | xargs -0 objdump -x | grep -oE \"T_[0-9, a-f, A-F]{4}\" "; proc->start(qCmd);原创 2016-06-02 14:26:36 · 3869 阅读 · 1 评论 -
代码优化,WINDOWS下使用DUMPBIN提取DLL文件中的符号
一个跨平台软件,其中有一段代码,需要从动态链接库中提取出匹配指定规则的符号,在Linux中,使用了objdump对.so文件进行反汇编,提取符号,但在Windows当中,由于没有objdump,虽然有dumpbin也可以对.dll文件进行反汇编,但依赖于vc,所以之前一直是使用遍历匹配的方式,来查找匹配的符号,效率很低。今天突然想到以前的项目中,在windows里用sed时,只需要部署几个相关的e原创 2016-07-06 22:44:13 · 2307 阅读 · 0 评论 -
【引】CentOS 7 安装配置VNC Server
引自:https://linoxide.com/linux-how-to/install-configure-vnc-server-centos-7-0/ Hi there, this tutorial is all about how to install or setup VNC Server on your very CentOS 7. This tutorial also w...转载 2018-07-27 09:55:09 · 1345 阅读 · 0 评论 -
【转】docker registry push错误“server gave HTTP response to HTTPS client”
引自:http://www.cnblogs.com/hobinly/p/6110624.html 问题描述:成功安装docker registry,客户端执行docker push,返回Get xxxxx server gave HTTP response to HTTPS client 错误。 解决方法:在”/etc/docker/“目录下,创建”daemon.json“...转载 2018-08-27 22:27:49 · 725 阅读 · 0 评论 -
《深入理解Linux内核》读书笔记-第三章-进程(1)
<!--@page {margin:2cm}h2 {margin-top:0.46cm; margin-bottom:0.46cm; line-height:171%; page-break-inside:avoid}h2.western {font-family:"Arial",sans-serif; font-size:16pt}h2.cjk {原创 2012-02-11 13:40:36 · 1694 阅读 · 0 评论 -
解决ubuntu下的无线网络禁用问题
jerry@jerry-ThinkPad-E420:~$ rfkill list 1: phy0: Wireless LAN Soft blocked: no Hard blocked: no 2: acer-wireless: Wireless LAN Soft blocked: yes Hard blocked: no 3: tp原创 2012-02-10 12:45:06 · 2910 阅读 · 0 评论 -
《深入理解Linux内核》读书笔记-第二章-内存寻址(1)
内存地址:逻辑地址:包含在机器语言指令中用来指定一个操作数或一条指令的地址。线性地址:一个32位无符号整数,也称虚拟地址。物理地址:用于内存芯片级内存单元寻址,与从微处理器的地址引脚发送到内存总线上的电信号相对应。在多处理器系统中,所有CPU都共享同一内存,这意味着,RAM芯片可以由独立的CPU并发地访问。由于RAM芯片上的读或写操作必须串行地执行,原创 2012-01-04 19:52:37 · 1578 阅读 · 0 评论 -
关于“实模式”和“保护模式”
今天整理读书笔记,发现了一个之前没注意到的,或者自己一直忽略的地方:《深入理解Linux内核》一书中,关于内存寻址这一章,提到了“硬件中的分段”、“Linux中的分段”、“硬件中的分页”和“Linux中的分页”四个概念,所谓的硬件上的分段、分页,是针对CPU在实模式下,即操作系统尚未加载启动之前所采用的内存寻址方式,而软件上的分段、分页,则是CPU在保护模式下,即操作系统启动后所采用的原创 2012-01-06 15:28:36 · 1023 阅读 · 0 评论 -
进程、轻量级进程和线程的一些点
从内核观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的实体。进程是资源管理的最小单位,线程是程序执行的最小单位。在操作系统设计上,从进程演化出线程,最主要的目的就是更好的支持SMP以及减小(进程/线程)上下文切换开销。最初的进程定义都包含程序、资源及其执行三部分,其中程序通常指代码,资源在操作系统层面上通常包括内存资源、IO资源、信号处理等部分,而程序的执行通原创 2012-01-09 15:57:30 · 2172 阅读 · 3 评论 -
Linux版本大阅兵:看看你都用过哪几款
转自:http://tech.sina.com.cn/s/2012-01-09/08456616699.shtml,作者:赵为民Linux 主要作为Linux 发行版的一部分使用,这些发行版由个人或松散组织团队,以及商业机构和志愿者组织编写。它们通常包括了其他的系统软件和应用软件,以及一个用来简化系统初始安装的安装工具,和让软件安装升级的集成管理器。大多数系统还包括了像提供GUI转载 2012-01-10 10:39:43 · 1789 阅读 · 1 评论 -
“没有定义根文件系统,请回到分区菜单以修正此错误”
用wubi安装ubuntu11.04,安装完成,重启,进入ubuntu系统,在检查配置时弹出了这样一个错误信息:“没有定义根文件系统,请回到分区菜单以修正此错误”错误原因:硬盘分区表错误。 如:硬盘分区有重叠。Ubuntu对硬盘分区表要求严格,稍有不适合就有错误提示。我在之前进行过两次磁盘压缩,可能对硬盘分区表产生了影响。解决办法:使用Diskgenius磁盘管理原创 2012-01-11 18:48:09 · 24960 阅读 · 0 评论 -
《深入理解Linux内核》读书笔记 第一章 绪论(1)
一、Linux与其它类Unix内核的比较:单块结构的内核:由几个逻辑上独立的成分构成,单块结构,大多数据商用Unix变体也是单块结构;编译并静态连接的传统Unix内核:Linux能自动按需动态地装载和卸载部分内核代码(模块),而传统Unix内核仅支持静态连接;内核线程:Linux以一种十分有限的方式使用内核线程来周期性地执行几个内核函数,而一些Unix内核则本身原创 2012-01-03 13:45:52 · 1900 阅读 · 1 评论 -
《深入理解Linux内核》读书笔记 第一章 绪论(2)
五、Unix内核概述:Unix内核提供了应用程序可以运行的执行环境。因此,内核必须实现一组服务及相应的接口,应用程序使用这些接口,而且通常不会与硬件资源直接交互。进程/内核模式:所有标准的Unix内核都仅仅利用了内核态和用户态。一个程序执行时,大部分时间都处在用户态下,只有需要内核所提供的服务时才切换到内核态。当内核满足了用户程序的请原创 2012-01-03 20:05:04 · 1279 阅读 · 0 评论 -
解决waiting for jockey-backend to exit
解决方法:终端输入:ps -e | grep jockey得到jockey的id然后:sudo kill “id”转载 2012-02-09 10:07:45 · 1582 阅读 · 0 评论 -
Linux中TASK_RUNNING状态的进程链表
早先的Linux版本把所有处于TASK_RUNNING状态的进程组织在一个叫做运行队列(runqueue)的链表中,由于维持链表中的进程按优先级排序的开销过大,因此,早期的调试程序需扫描整个队列以选择“最佳”的可运行程序。Linux2.6实现的运行队列有所不同。为了实现在固定的时间内选出“最佳”的可运行程序,内核将可运行进程的优先级划分为0-139,并为此建立了140个可运行进程链表,原创 2012-02-08 16:25:30 · 3451 阅读 · 0 评论 -
LINUX 和 WINDOWS 内核的区别
[声明:欢迎转载,转载请注明出自CU ACCESSORY http://linux.chinaunix.net/bbs/thread-1153868-1-1.html]关于LINUX和WINDOWS的口水站已经很多了。本文企图从技术角度来比较下2个主流操作系统的异同。偏重于内核部分。一、动机:我最早是 WINDOWS 阵营的。在WINDOWS下写过2年多的驱动程序。转载 2012-01-06 11:03:43 · 1188 阅读 · 0 评论 -
【转】docker push错误“server gave HTTP response to HTTPS client”
引自:http://www.cnblogs.com/hobinly/p/6110624.html 问题描述:成功安装docker registry,执行docker push时报错“Get https: //XXX: http: server gave HTTP response to HTTPS client” 解决方法:在”/etc/docker/“目录下,创建”...转载 2018-08-27 22:34:44 · 1032 阅读 · 0 评论