操作系统理论的学习跟实际应用还是很大的。我学了进程线程同步互斥之后对于编程中的多线程等加锁的还是云里雾里,总是把操作系统和编程串不起来,也把计算机几门专业课串不起来,感觉计算机这个专业书读十遍以下是不可能把四门专业课书连贯的自己串起来。人的智商和逻辑性还是差异很大的。。壹:进程管理(一)进程与线程1.进程概念:就是一个具有独立功能的程序的一次动态执行。2.进程的状态与转换:进程的三个基本状态是就绪、执行、阻塞。就绪态到执行态的转换只需要cpu调度即可,阻塞
系统 2019-08-12 01:31:59 2422
功能描述:touch可以修改文件的access/modify/change时间戳。当输入的文件参数代表的文件不存在的时候,touch会create一个空的文件,并以当前最新的时间戳来标记。所以touch主要有2个功能:创建一个新的空白文件修改已经存在的文件的时间戳,包括access,modify,change.命令:touch[-acm][-rref_file(参照文件)|-ttime(时间值)]file(文件名)...GNU版本:touch[-acfm]
系统 2019-08-29 22:32:47 2421
PS(PromptSign):是指命令提示符,PS1简单来说就是设置命令提示符显示的内容PS1变量中提示符各项含义:\d:代表日期,格式为weekdaymonthdate,例如:WedDec12\H:完整的主机名称。例如:hostname是debian.linux\h:仅取主机的第一个名字,如上例,则为debian,.linux则被省略\t:显示时间为24小时格式,如:HH:MM:SS\T:显示时间为12小时格式\A:显示时间为24小时格式:HH:MM\u
系统 2019-08-29 22:10:28 2421
一直对linux内核很感兴趣,早就想深入的学习下,由于自己目前的水平还比较菜,所以在blog中记录下学习中的心得和体会,一则自己做一个记录,同时也可以督促自己的学习进度;二来可以抛砖引玉,希望和我一样对内核有兴趣的朋友们多多指点,共同进步。[第一章]IntroductiontotheLinuxKernel主要是一些概述性的内容,主要包括:1、Unix和Linux发展的背景和历史,这部分没有什么可说的,作为常识了解吧。2、操作系统和内核概述(1)内核主要组件
系统 2019-08-29 22:05:30 2421
vim查找替换-ltang-博客园vim查找替换vi/vim中可以使用:s命令来替换字符串:s/vivian/sky/替换当前行第一个vivian为sky:s/vivian/sky/g替换当前行所有vivian为sky:n,$s/vivian/sky/替换第n行开始到最后一行中每一行的第一个vivian为sky:n,$s/vivian/sky/g替换第n行开始到最后一行中每一行所有vivian为skyn为数字,若n为.,表示从当前行开始到最后一行:%s/v
系统 2019-08-12 01:33:12 2421
引用自http://www.blogbus.com/public/tb.php/4346144/15887442/5aaba108490b7c1550d529b8371fb1b4创建和添加一个文件系统一、问题描述本项目的内容是要添加一个类似于ext2的自定义文件系统xs_ext2。我们对xs_ext2文件系统的描述如下:1、xs_ext2文件系统的物理格式定义与ext2基本一致,除了xs_ext2的magicnumber是0x6666,而ext2的magi
系统 2019-08-12 01:32:50 2421
作者:马路遥日常工作中,我们经常需要在多台硬件完全相同的电脑上安装同样的Linux,尤其是在做集群应用或互为备份的数据库服务器的时候。笔者是兼职Linux教师,出于讲课的需要,经常要在硬件配置完全相同的电脑上为学生安装多达十台或更多的Linux系统。如果使用最常见的CDROM安装方式,恐怕一次就要用掉一天的时间。而采用Kickstart安装方式,大约60分钟就全部安装完毕了。Kickstart是RedHat发展的快速定制安装方式,可以让电脑按照事先设计好的
系统 2019-08-29 23:16:58 2420
以oracle账号登陆Linux,或者从root下输入su-oracle变成oracle帐号执行启动关闭命令1.启动和关闭监听启动监听:lsnrctlstart关闭监听:lsnrctlstop2.启动和停止数据库启动数据库:在终端输入sqlplus'/assysdba'进入sqlplus,在sqlplus输入startup停止数据库:在sqlplus输入shutdown或者shutdownimmediate3.启动和停止dbconsole服务启动dbcon
系统 2019-08-12 01:53:01 2420
读写文件,是作为一个操作系统所提供的最基本接口之一。我们就从写文件过程:open,write,close这几个接口来说起,描述写文件的那些事儿。平时,我们做应用程序的时候,常常用到读写文件的函数接口,就拿写文件来说,我们用C/C++编写时,用到了以下的函数接口:1>FILE*fopen(constchar*restrictfilename,constchar*restrictmode);2>size_tfwrite(constvoid*restrictbu
系统 2019-08-12 01:33:43 2420
显示网络配置1.ifconfig查看网络接口的信息。普通用户使用ifconfig的全路径:/sbin/ifconfigifconfig网络接口名称:显示指定接口的详细信息。ifconfig-a查看所有网络接口的信息。2.route显示路由表route|grepdefault显示主机的默认网关。3.ping-c4192.168.1.10发送指定数量的数据包进行网络连接测试。4.traceroute192.168.1.10测试与其他主机的网络连接路径。5.ho
系统 2019-08-12 01:33:37 2420
Linux环境高级编程Linux环境高级编程2011-08-2014:09一、课程目标本次课程涵盖Linux系统编程的几个主要方面,通过本次课程的学习,学员将具备以下能力:了解Linux系统调用和类库的区别;熟悉文件I/O、文件和目录、进程管理、进程间通信(IPC)、信号、时间与定时器的编程。二、参训要求参加本次课程的学员须具备以下能力:本次课程使用C语言教学,所以学员需拥有较好的C语言基础;能熟练使用常用的Linux命令;能熟练使用gcc、gdb、熟练撰
系统 2019-08-12 01:33:28 2420
linux的用户与用户组管理命令1、用户和群组groupadd:用于添加新的组群其命令格式如下:groupadd[-option]群组名常用参数:-gGID:指定创建群组的GID(GID为大于500的数字)范例【1】添加一个叫teama的群组,并指定GID为555,使用命令:groupadd-g555teama注意(PS):如果不加-g参数,默认情况下系统会自动分配GID(用户所属群组的识别码),从500开始顺序排列groupdel:用于删除已存在的群组其
系统 2019-08-12 09:26:49 2419
在apache,nginx,lighttpd等webserver其中,都有一项sendfile相关的配置,在一些网上的资料都有谈到sendfile会提升文件传输性能,那sendfile究竟是什么呢?它的原理又是怎样呢?在传统的文件传输里面(read/write方式),在实现上事实上是比較复杂的,须要经过多次上下文的切换,我们看一下例如以下两行代码:Java代码read(file,tmp_buf,len);write(socket,tmp_buf,len);
系统 2019-08-12 01:33:34 2419
http://blog.sina.com.cn/s/blog_43b39e250100nmqt.htmlparted是一个用于对分区及其文件系统进行建立、修改、调整、检查、复制等操作的一个工具,它比fdisk更加灵活,功能也更丰富,同时还支持GUID分区表(GUIDPartitionTable),这在IA64平台上管理磁盘时非常有用,此外,你还可以用它来检查磁盘的使用状况,在不同的磁盘之间复制数据,甚至是“映象”磁盘——将一个磁盘的安装完好地复制到另一个磁
系统 2019-08-12 01:32:31 2419
socat|半卷使用socat进行端口转发沈觅仁技术打火机1commentsocat是一个多功能的网络工具,名字来由是”SOcketCAT”,因此可以看出它基于socket,能够折腾socket相关的无数事情。当然这些都不是我关心的重点。我发现并尝试使用socat的原因可以参看此前的一次端口转发的尝试,本文的重点是介绍一下我对socat的使用心得,以及折腾了一个小时的GENTOO版socat服务脚本。为了表示对网络先驱的尊重,首先贴参考文章:《PortFo
系统 2019-08-12 01:32:31 2419