Linux 新手了解.docx_第1页
Linux 新手了解.docx_第2页
Linux 新手了解.docx_第3页
Linux 新手了解.docx_第4页
Linux 新手了解.docx_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. Linux使用体会(与Window、Mac等相比)因为只使用过Windows系统,所以在此只把Linux与Windows作比较:(1)、从系统构成上来说,linux是开源软件,而windows不是。那就意味着,如果你喜欢你可以对linux系统做你想做的任何改动。而这点对于windows来说,是想也不要想的。 (2)、从运行的稳定性来说。各有利弊。但linux的任何程序都是相对独立的,哪怕gnome和kde(图形界面)也是独立的。而软件的崩溃只是软件的崩溃,很少造成系统的瘫痪(死机)。只有重新运行程序就好了。windows吗,就不用说了,受软件影响很大,很容易死机。 (3)、从多用户来说,linux是真正的多用户系统。可以多个用户真正登录,这对于windows来说,虽然也有了雏形,但太儿戏化了,摆设而已。 (4)、对于中文的支持来说。windows的多个版本对于windows的支持是很强的。字体也很漂亮。而linux虽然也支持中文,但要完全支持中文是要手动做很多设置的,不过就算做的再好。总有机会看到中文乱码的(因为几乎每个软件都要设置字体和字符编码的)。而且中文的字体比较烦,不是很好看。刚开始在Linux上打开ftp时就有感触,打开全是乱码。(5)、对于系统更新来说,apt是目前linux不二的选择了,快捷普遍、简单。而且无什么正版验证之虞的。windows也不错,可是漏洞总比补丁来的快,更何况我没用过正版的。2. Linux进程信息(写出具体含义)进程又称任务,是一个动态的使用系统资源、处于活动状态的应用程序。进程的管理由进程控制块PCB、进程调度、中断管理、任务队列等组成,它是linux文件系统、存储管理、设备管理和驱动程序的基础。进程控制块PCB中包含了进程的所有信息,主要包括进程PID、进程所占有的内存区域、文件描述符和进程环境等信息。他用task_struct的数据结构表示,存在于include/linux/sch.h进程状态及转换cpp view plaincopyprint?1. #defineTASK_RUNNING0/运行状态 2. #defineTASK_INTERRUPTIBLE1/等待状态(可被中断) 3. #defineTASK_UNINTERRUPTIBLE2/等待状态(不可被中断) 4. #defineTASK_STOPPED4/停止状态 5. #defineTASK_ZOMBIE8/睡眠状态 6. #defineTASK_DEAD16/僵死状态进程的基本操作,六大类:获取进程信息函数:主要通过读取进程控制块PCB中的信息。(1)getpid()功能:用来获取目前进程的进程标识。定义函数:pid_t getpid(void)返回值:返回当前进程的进程识别号。头文件:#include (2)getppid()功能:用来获取目前进程的父进程标识。定义函数:pid_t getppid(void)返回值:返回当前进程的父进程识别号。头文件:#include (3)getpgid()功能:用来获得参数pid指令进程所属于的组识别号,若参数为0,则返回当前进程的组识别码。定义函数:pid_t getpgid(pid_t pid)返回值:执行成功则返回正确的组识别码,若有错则返-1,错误原因存在于errno中。头文件:#include (4)getpgrp()功能:用来获得目前进程所属于的组识别号,等价于getpgid(0)。定义函数:pid_t getpgrp(void)返回值:执行成功则返回正确的组识别码。头文件:#include (5)getpriotity(void)功能:用来获得进程,进程组和用户的进程执行优先权。定义函数:int getpriority(int which,int who)参数含义:which:PRIO_PROCESS who为进程的识别码PRIO_PGRP who为进程的组识别码PRIO_USER who为用户识别码返回值:执行成功则返回当前进程的优先级(-20-20),值越小优先级越高。若出错则返-1,原因在errno中。头文件:#include 3.gcc和dgb的使用方式Ctrl+alt+t先进入终端,使用vi编辑器编写c代码如下。使用gcc打开hello.c的文件,并且运行可以看到运行结果,Hello World!使用dgb调试程序,重新写了一个可以看出调试结果的C文件,test.c文件。先使用gcc运行test.c文件,查看其结果。运行gdb使用“r”命令执行(Run)被调试文件,因为尚未设置任何断点,将直接执行到程序结束,然后使用“b”命令在 main 函数开头设置一个断点(Breakpoint),再使用r命令运行,可以看到显示第一个断点在第14行。以及相应前面都运行到第14 行的结果。然后分别在第21行、tempFunction 函数开头各设置一个断点,使用“c”命令继续(Continue)执行被调试程序,程序将中断在第二 个断点(21行),此时全局变量 nGlobalVar 的值应该是 88;再一次执行“c”命令,程序将中断于第三个断点(7行,tempFunction 函数开头处),此时tempFunction 函数的两个参数 a、b 的值应分别是 1 和 2:使用display命令“display /i $pc”,进行汇编级的调试或跟踪。此后程序再中断时,就可以显示出汇编代码了:看到 n=1汇编代码为movl $0x1,0x1c(%esp), 并且以后程序每次中断都将显示下一条汇编指定(“si”命令用于执行一条汇编代码区别于“s”执行一行C代码):使用“d”命令删除前面的所有断点Delete breakpoint,试一下命令“b *”。 使用命令“b *main”在 main 函数的 prolog 代码处设置断点(p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论