linux_shell_4_shell特性
摘要:linux_shell_4_shell特性去年的这个时候,我曾经写过一些关于shell特性的文章,下面是第3篇:linux_shell_3_shell变量特性。 今天我们继续来学习一些关于Linux shell的内容。【1】shell 在用户登录到系统后,系统会给用户分配一个默认的shell,用户通过这个shell来与系统进行交互。我们可以通过环境变量SHELL来查看用户登录到系统后获取的shell。如下命令所示:[volcanol@volcanol ~]$ echo $SHELL/bin/bash 这里我的系统登录后分配的shell为bash shell。 一般的linux或者...
阅读全文
Padrino 博客开发示例
摘要:Padrino 博客开发示例英文版出处:http://www.padrinorb.com/guides/blog-tutorial楼主按拿作者自己的话说:Padrino(谐音:派骓诺)是一款基于Sinatra的优雅的Web应用开发框架,旨在使Web应用的开发变得轻松有趣。楼主主要是在一台二手笔记本上跑Linux、体验Padrino并对原文进行翻译的。Ruby领域推荐平台是OS X,其次是Linux,如果你对Linux环境感兴趣,可以参考我的配置信息。博客搭建指导每当我看见天边的绿洲全新的框架,就会想起东方奇诺瓦如何搭博客。我觉得这是让新人迅速上手的最佳方式。本指南将向大家展示如何利用Padri
阅读全文
Linux操作系统学习_用户态与内核态之切换过程
摘要:Linux操作系统学习_用户态与内核态之切换过程因为操作系统的很多操作会消耗系统的物理资源,例如创建一个新进程时,要做很多底层的细致工作,如分配物理内存,从父进程拷贝相关信息,拷贝设置页目录、页表等,这些操作显然不能随便让任何程序都可以做,于是就产生了特权级别的概念,与系统相关的一些特别关键性的操作必须由高级别的程序来完成,这样可以做到集中管理,减少有限资源的访问和使用冲突。Intel的X86架构的CPU提供了0到3四个特权级,而在我们Linux操作系统中则主要采用了0和3两个特权级,也就是我们通常所说的内核态和用户态。 运行于用户态的进程可以执行的操作和访问的资源都受到极大的限制,而运行于内
阅读全文
用户态到内核态切换之奥秘解析
摘要:用户态到内核态切换之奥秘解析学号:SA12**6112本文将主要研究在X86体系下Linux系统中用户态到内核态切换条件,及切换过程中内核栈和任务状态段TSS在中断机制/任务切换中的作用及相关寄存器的变化。一:用户态到内核态切换途径:1:系统调用 2:中断 3:异常对应代码,在3.3内核中,可以在/arch/x86/kernel/entry_32.S文件中查看。二:内核栈内核栈:Linux中每个进程有两个栈,分别用于用户态和内核态的进程执行,其中的内核栈就是用于内核态的堆栈,它和进程的task_struct结构,更具体的是thread_info结构一起放在两个连续的页框大小的空间内。在内核..
阅读全文
infiniband学习总结
摘要:infiniband学习总结一.什么是infinibandInfiniBand架构是一种支持多并发链接的“转换线缆”技术,它是新一代服务器硬件平台的I/O标准。由于它具有高带宽、低延时、 高可扩展性的特点,它非常适用于服务器与服务器(比如复制,分布式工作等),服务器和存储设备(比如SAN和直接存储附件)以及服务器和网络之间(比如LAN, WANs和the Internet)的通信 。二.Infiniband产生的原因随着CPU性能的飞速发展,I/O系统的性能成为制约服务器性能的瓶颈。于是人们开始重新审视使用了十几年的PCI总线架构。虽然PCI总线结构把数据的传输从8位/16位一举提升到32位,
阅读全文
下载centos6.4
摘要:下载centos6.4(原创)LAMP教程3-下载centos6.4今天我要给大家讲的是安装CentOS-6.4-x86_64,是的没有错,就是64位的,因为我的机子是4G的内存,安装64位的centos是绰绰有余啊,但是这里要跟大家讲的是不一定非要跟我一样,如果内存没有那么大的也可以选择安装32位的,一样都可以配置LAMP的。好了,先贴出centos6.4的下载地址吧。http://mirrors.163.com/centos/6.4/大家进入上面的下载地址后,可以选择isos目录然后在选择x86_64这个目录进去下载64位的,也可以选择i386目录进去下载32位的然后就可以下载我上面框起来
阅读全文
arm-linux-gcc 安装和测试
摘要:arm-linux-gcc 安装和测试下载交叉编译器http://pan.baidu.com/share/link?shareid=984027778&uk=388424485第一步进行解压:tar -zxvf 文件第二部将解压后的目录拷贝在/usr/local/下 这里可以选择解压中的某个文件目录即可,比如我的4.4.3/第三步配置文件修改vim /exc/profile添加一句 pathmunge /usr/local/4.4.3/bin保存退出输入命令:source /exc/profilel使用该命令进行查看是够添加成功:echo $PATH又表示成功了arm-linux-gc
阅读全文
CentOS下Mysql安装教程
摘要:CentOS下Mysql安装教程本人学习Linux时使用的是CentOs5.5版本,在该环境中,Mysql的安装方法有很多种,下面我只讲我这次成功了的方法,作为一个记录,供大家参考,同时给自己做一个笔记。MySQL下载1.进入网址:http://dev.mysql.com/downloads/mysql/2.在网址中,按照下图,系统平台,因为我使用的是32位,所以我下载的是32-bit根据提示下载完成之后,将它复制到我们虚拟机中的/usr/local目录下,双击解压(本人不知道为什么使用命令解压错误)。解压后,你会发现有一下文件,如图:虽然文件较多,但是,我们真正需要的是蓝色方框括住的两个安装
阅读全文
CentOS下Eclipse的安装教程
摘要:CentOS下Eclipse的安装教程据了解,在Linux下的Java开发很多时候都比较喜欢使用vim + 插件,反而很少使用Eclipse,但是我是第一次使用Linux来进行Java编程,就什么都体验下啦,好啦,废话不多说,直接开始啦。Eclipse下载1.进入Eclipse下载网址 :http://www.eclipse.org/downloads/,如图,进行选择,然后下载自己需要的版本即可。下载了之后,将它复制到虚拟机CentOS下的/user/local目录下。Eclipse安装1.首先,我下载的报是.tar.gz格式的,所以我们先要进行解压: 1>进入到/user/local
阅读全文
GDB调试GCC(jRate)
摘要:GDB调试GCC(jRate)1、前提是build GCC的时候要修改makefile,在configure之后生成的makefile忠,将CFLAGS和CFLAGS_FOR_BUILD改成-g3 -O0..2、在root用户下,切换到源码所在目录,输入:jRate-gcj --main=Test1 Test1.java -o Test1 -dr -O0 -v-dr表示导出RTL代码,-v会显示GCC编译各个过程的命令行信息,在后面使用GDB的时候会用到。这里我显示的如下所示:Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnu
阅读全文
linux下面安装配置LAMP环境
摘要:linux下面安装配置LAMP环境以centos下面为例、初学者、东西基本都是各个地方找来的、自己手写了一遍、应该印象会很深刻首先切换到超级管理员模式1、安装php一路选择y就行了安装一些php的扩展 yum -y install php-gd php-mbstring2、安装apache一路选择y设置apache开机启动启动apache然后浏览器中输入localhost就可以访问了安装一点httpd的扩展 yum -y install httpd-manual mod_ssl mod_auto_mysql网页目录默认为 /var/www/html 方便起见最好html文件夹的权限改一下 ..
阅读全文
Nginx学习笔记4 源码分析
摘要:Nginx学习笔记(四) 源码分析源码分析 在茫茫的源码中,看到了几个好像挺熟悉的名字(socket/UDP/shmem)。那就来看看这个文件吧!从简单的开始~~~src/os/unix/Ngx_socket.h&Ngx_socket.c 源码如下(可用Source Insight来看源码,不错的选择):/* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */#ifndef _NGX_SOCKET_H_INCLUDED_#define _NGX_SOCKET_H_INCLUDED_#include <ngx_con
阅读全文
Linux epoll总结
摘要:Linux epoll总结Linux epoll epoll是Kernel 2.6后新加入的事件机制,在高并发条件下,远优于select。epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __FD_SETSIZE 1024 //select最多同时监听1024个fd 当然,可以通过修改头文件再重编译内核来扩大这个数目,但这似乎并不治本。 所以在Nginx中采用了epoll来实现其高并发特性。工作方式...
阅读全文
Linux学习之系统的构建
摘要:Linux学习之系统的构建实验环境:ubuntu 12.04 LTS内核版本:linux-3.9.4 因为一直以来都对Linux的工作机理比较感兴趣,所以正好这两天有机会好好的研究一下,那闲话不多说,直接进入正题。 俗话说的好,公欲善其事,必先利其器。那么对于一个系统内核级的修改与研究必然不能从自己机器中正在运行的内核下手,这样一旦发生错误,将导致内核崩溃,无法启动,这个后果稍微有些严重。所以重新编译一个用于实验的内核是非常必要的。这里详见Linux学习之内核编译与添加系统调用。 对于本次的任务,一个模拟器也是非常必要的,这里主要是采用qemu模拟器。这个模拟器在linux下很常用,这里不..
阅读全文
Linux centOS本地DNS安装
摘要:centOS本地DNS安装在centOS里最常用的DNS服务工具应该是bind了。下面就以bind为例做一个DNS服务。首先查看bind是否已经安装Rpm-qa|gerpbind如果没有的话就用yum安装一下BindYum-yinstallbind这样就安装好了bind配置named.conf文件把listen-onport53{x.x.x.x;};改成listen-onport53{any;};这样它就会监听所有的ip地址了后边的ipv6可以把它注释掉。(也可以不管它),后面再把allow-query{localhost;};改成allow-quety{any;};其它地方保持默认就好了然后
阅读全文
CentOS 6.4 编译安装LLVM3.3,Clang和Libc++
摘要:CentOS 6.4 编译安装LLVM3.3,Clang和Libc++LLVM的最新版本3.3终于在6月17日发布了,按之前的计划6月5日就应该发布了,不过毕竟没有太晚,赶在VS2013 preview(6月26日微软Build大会)之前出来了。加上之前gcc4.8.1在5月底6月初发布,当今最优秀的三大C++编译器都在这个月发布重要更新,这个6月份真是C++的好日子啊!LLVM之前就已经宣布做到C++11 Feature Complete了,3.3应该是第一个稳定版,之前gcc4.8.1也同样是全面支持C++11,这篇文章介绍了如何在CentOS上编译安装最新的gcc,VS一直是落后很多的,
阅读全文
Linux并发模型
摘要:Linux并发模型Linux并发模型 目前可以实现并发程序的方法有Apache模型(Process Per Connection,简称PPC),TPC(Thread PerConnection)模型,以及select模型和poll模型、Epoll模型。各种模型优缺点 Apache模型和TPC模型是最容易理解的,Apache模型在并发上是通过多进程实现的,而TPC模型是通过多线程实现的,但是这种方式在大量进程/线程切换时会造成大量的开销。 select模型是通过一种轮询机制来实现的。需要注意:Socket数量限制:该模式可操作的Socket数由FD_SETSIZE决定,内核默认32*32=...
阅读全文
Nginx架构
摘要:Nginx架构Nginx架构 Nginx全程是什么?Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP代理服务器。daemon守护线程 nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。 当然nginx也是支持多线程的方式的,只是我们主流的方式还是多进程的方式,也是nginx的默认方式。 master进程主要用来管理worker进程,包含:接收来自外界的信号,向各worker进程发送信号,监控worker进程的运行状态,当work
阅读全文
SSH使用技巧
摘要:SSH使用技巧SSH免输入密码原理是依赖证书去认证,从而免除密码输入。通过ssh-keygen生成一对公私钥,是否使用passphrase可以根据个人喜好。(其实使用证书就是为了方便而已,我是不喜欢其他密码了。) 然后scp家目录下的.ssh/id_rsa.pub(或者dsa等公钥文件)到目的机器上。命令过程:本地ssh-keygenscp ~/.ssh/id_rsa.pub B:ssh到B主机(这里第一次必须要输入密码)(mkdir .ssh如果家目录下不存在该目录)mv id_rsa.pub .ssh/authorized_keys或者:cat id_rsa.pub >> .s
阅读全文
如何使用ssh
摘要:如何使用ssh自己的笔记本做不了我的运算,只能依靠办公室的工作站,有时很不方便。所以做了一次远程监控。本想用vnc的,发现怎么都连不上,算了。还是SSH好用。工作站和笔记本都是fedora系统,所以默认都有ssh。第一步,开启工作站上防火墙的相应端口,SSH是22。第二步,开启SSH服务。先查看ssh的状态。service sshd status开启服务,service sshd start当然也可以关闭了,service sshd stop重启服务, sshd restart第三步,修改配置文件,/etc/ssh/sshd_config打开这个文件,在最后的地方AllowUsers,添加用户
阅读全文