Linux系统分析考试重点.docx_第1页
Linux系统分析考试重点.docx_第2页
Linux系统分析考试重点.docx_第3页
Linux系统分析考试重点.docx_第4页
Linux系统分析考试重点.docx_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1.网络操作系统、分时操作系统、并操作系统、分布式操作系统、嵌入式操作系统、实时操作系统、云操作系统2.并发性指两个或两个以上的事件或活动在同一时间间隔内发生。并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。并行性指两个或两个以上事件或活动在同一时刻发生。在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行。区别:一个处理器同时处理多个任务和多个处理器或者是多核的处理器同时处理多个不同的任务。3.多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插运行,两个或两个以上程序在计算机系统中同处于开始到结束之间的状态。4.正在执行的一个或多个相关进程被称为作业,一个作业可以包含多个进程.5.一个作业可划分成若干个部分,每个部分称为一个作业步。在作业运行期间,各作业步之间存在着相互联系,上一个作业步的结果作为下一个作业步的输入6.进程是操作系统结构的基础,是一次程序的执行,是一个程序及其数据在处理机上顺序执行时所发生的活动。7.线程是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。8.为了描述控制进程的运行,系统为每个进程定义了一个数据结构-进程控制块(PCB Process Control Block),它是进程实体的一部分,是操作系统中最重要的记录性数据结构。9. TCB是Trusted Computing Base的简称,指的是计算机内保护装置的总体,包括硬件、固件、软件和负责执行安全策略的组合体。它建立了一个基本的保护环境并提供一个可信计算机系统所要求的附加用户服务。0. ls 选项 文件目录列表-a:显示隐藏文件除外的所有文件及目录-c:按列输出,纵向排序 -x:按列输出,横向排序-l:除文件名外,也将其它信息详细列出 -t :按修改时间排序 -X:按扩展名排序-A:同 -a ,但不列出 . (目前目录) 及 . (父目录) R:递归显示下层子目录ls -help:显示帮助信息 -version:显示版本信息-:常规文件d:目录b:块特殊设备c:字符特殊设备p:有名管道s:信号灯m:共享存储器drwxr-x-:目录拥有者的权限是rwx(读、写和执行权限);组中其他人对该目录的权限是r-x(读和执行权限),系统中其他人对该目录的权限是-(都没有)。1. useradd 用户名该命令做了下面几件事:1)在 /etc/passwd (用户账号文件,/etc/shadow为用户口令文件)文件中增添了一行记录;2)在 /home 目录下创建新用户的主目录,并将 /etc/skel 目录中的文件拷贝到该目录中去;但是使用了该命令后,新建的用户暂时还无法登录,因为还没有为该用户设置口令,需要再用 passwd 命令为其设置口令后,才能登录。用户的 UID 和 GID 是 useradd 自动选取的,它是将 /etc/passwd 文件中的 UID 加 1,将 etc/group 文件中的 GID 加 1。useradd -D:显示useradd命令使用的默认值useradd -c备注 -g用户所属的用户组 -G用户所属的用户组 -d用户主目录 -u 用户号 -e账号的失效日期 -f密码过期后多少天关闭该账号 -m自动建立用户的登入目录 -M不自动建立用户的登入目录 -n取消建立以用户名称为名的群组 -r建立系统账号 -p 密码 -s用户登入后所使用的shell.默认值为/bin/bash -u指定用户ID号.该值必须是唯一的.必须大于499 用户名2. usermod -l新用户帐号名称 用户帐号: 修改用户帐号.usermod L 用户帐号 :锁定用户账号,使其不能登录.usermod U 用户帐号 :解锁用户账号,使其可以登录.3. userdel r 用户账号: 删除用户账号与相关的文件 -f:强制删除用户账号与相关的文件4. groupadd r建立系统账号 群组名称5. groupdel 群组名称:删除指定的组账号,若该群组中仍包括某些用户,则必须先删除这些用户后,才能删除群组groupadd lbgroup /建立组账号lbgroupgrep lbgroup /etc/group /查询group文件lbgroup组是否建立6. chmod -c只输出被改变文件的信息 -f 不显示权限不能改变的文件的错误信息 -v 详细说明权限的变化 -R把修改应到目录下所有文件和子目录chmod u+x file给file的属主增加执行权限chmod u-x file给file的属主去除执行权限chmod 751 file或chmod u=rwx,g=rx,o=x file 给file的属主分配读,写,执行(4+2+1=7)的权限,给file的所在组分配读,执行的权限,给其他用户分配执行的权限chmod =r file 或chmod 444 file或 chmod a-wx,a+r file:为所有用户分配读权限chmod -R u+r directory递归地给directory目录下所有文件和子目录的属主分配读的权限7. ps:显示进程ps -l 长格式 j 工作的格式-e 显示所有进程-f 全格式-h 不显示标题 -w 宽输出 a 显示终端上的所有进程,包括其他用户的进程-a 显示同一终端下的所有程序r 只显示正在运行的进程x 显示没有控制终端的进程 e 显示环境变量8. grep -v列出不匹配串或正则表达式的行 -c 对匹配的行计数 -l只显示包含匹配的文件的文件名 -h不显示包含匹配文件的文件名 -n每个匹配行只按照相对的行号显示-i不区分大小写,缺省状态是区分大小写 匹配字符串 文件列表grep tf file1 file2:在file中找以t或f开头的字符串file1:twofile2:three9. rpm -i RPM包的全路径文件名: 安装RPM包 rpm V: 校验软件包rpm -ivh RPM包的全路径文件名: 安装RPM包并显示安装进度信息rpm -e RPM包名称: 删除已安装的软件包,指定要删除的软件包名称而不是软件包文件名rpm -U RPM包的全路径文件名: 升级RPM包rpm -q或 rpm -a: 命令来查询安装的软件包的数据库 rpm -qa:产生安装的所有软件包列表rpm -q fcitx: 命令会显示安装的软件包 fcitx的名称、版本、和发行号rpm -f 文件路径: 会查询拥有该文件 的软件包。当指定文件时,必须指定文件的完整路径rpm -p : 查询软件包 10.service start: 启动指定的系统服务 service stop: 停止指定的系统服务service restart: 重新启动指定的系统服务,即先停止,然后再启动11. egrep Linux 文件或目录 : 查找包含字符串“Linux”的文件 fgrep 命令于 grep 和 egrep 命令不同,它搜索字符串而不搜索匹配表达式12. b 退格, 光标左移一格 c 禁止行尾自动换行, 对echo有效, printf无效e ESC转义序列(同E, 033, x1b; 就是ESC键按下的效果)f 换页(光标移到下一行的相同列) n 换行(光标移动下一行行首)r 回车(光标回到本行行首) t 制表符(TAB键按下的效果.)v 纵向制表符(同f) x00十六机制数的值(两位0-9a-fA-F的十六进制数). 倒斜杠 000 八进制数的值(以数字开头, 限最多3位0-7的数字)shell访问一个目录中的所有内容(这一页代码从左到右,再到下一页,再从左到右):#!/bin/sh function scandir() local cur_dir parent_dir workdir workdir=$1 cd $workdir if $workdir = / then cur_dir= else cur_dir=$(pwd) fi for dirlist in $(ls $cur_dir) do if test -d $dirlist then cd $dirlist scandir $cur_dir/$dirlist cd . else echo $cur_dir/$dirlist fi done if test -d $1 then scandir $1 elif test -f $1 then echo you input a file but not a directory,pls reinput and try again exit 1 else echo the Directory isnt exist which you input,pls input a new one! exit 1 fi C语言访问一个目录中的所有内容(这一页代码从左到右,再到下一页,再从左到右):#include #include #include #include #include #include #include using namespace std;void listDir(char *path) DIR *pDir; struct dirent *ent ; int i=0 ; char childpath512; pDir=opendir(path); memset(childpath,0,sizeof(childpath); while(ent=readdir(pDir)!=NULL) if(ent-d_type & DT_DIR) if(strcmp(ent-d_name,.)=0 | strcmp(ent-d_name,.)=0) continue; sprintf(childpath,%s/%s,path,ent-d_name); printf(path:%s/n,childpath); listDir(childpath); elsecoutd_nameendl; int main(int argc,char *argv) istDir(argv1); return 0; 编辑一个文件inpath, 检查一个命令比如abc是否存在。其运行方式如下: inpath abc 说明:这一行整体上看有两个字符串。第一个参数用$1,第二个参数用$2,.依次类推表示,这一行的总的参数个数用$#表示(都是以$开头的系统变量)13.文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法14.Ext:2 GB Ext2,Ext3: 1TB最大分区4TB Ext4: 16 TB最大分区1EBNTFS: 2TB 最大分区2TB BTRFS : 16 EB15. /proc目录下内容/acpi 目录下为 ACPI 的详细信息/asound/ 查看声卡信息:/buddyinfo 每个内存区中的每个order有多少块可用,和内存碎片问题有关 /bus 系统总线(Bus)信息,例如pci/usb等 /cgroups 用来限制、统计和分离一个进程组的资源/cmdline 启动时传递给kernel的参数信息 /cpuinfo cpu的信息 /crypto 内核使用的所有已安装的加密密码及细节 /devices 已经加载的设备并分类 /diskstats 取得磁盘信息 /dma 已注册使用的ISA DMA频道列表 /driver 驱动信息 /execdomains Linux内核当前支持的execution domains /fb 帧缓冲设备列表,包括数量和控制它的驱动 /filesystems 内核当前支持的文件系统类型 /fs 文件系统信息 /ide ide设备信息 /interrupts x86架构中的每个IRQ中断数 /iomem 每个物理设备当前在系统内存中的映射 /ioports 一个设备的输入输出所使用的注册端口范围 /irq 中断请求设备信息 /kallsyms把内核用到的所有函数地址和名称连接进内核文件,当内核启动后,同时加载到内存中./key-users 密钥保留服务文件/kcore 代表系统的物理内存,存储为核心文件格式,里边显示的是字节数,等于RAM大小加上4kb /kmsg 记录内核生成的信息,可以通过/sbin/klogd或/bin/dmesg来处理 /kpagecount包含一个64位值,该值表示每个page被映射的次数,通过PFN索引。/kpageflags包含每一个page的64位的标记集,通过PFN索引。/latency_stats 旋转延迟时间统计信息/loadavg 根据过去一段时间内CPU和IO的状态得出的负载状态,与uptime命令有关 /locks 内核锁住的文件列表 /mdstat 多硬盘,RAID配置信息(md=multiple disks) /meminfo RAM使用的相关信息 /misc 其他的主要设备(设备号为10)上注册的驱动 /modules 所有加载到内核的模块列表 /mounts 系统中使用的所有挂载 /mtrr 系统使用的Memory Type Range Registers (MTRRs)以下是/proc目录中进程N的信息 /N pid为N的进程信息 /N/cmdline 进程启动命令 /N/cwd 链接到进程当前工作目录 /N/environ 进程环境变量列表 /N/exe 链接到进程的执行命令文件 /N/fd 包含进程相关的所有的文件描述符 /N/maps 与进程相关的内存映射信息 /N/mem 指代进程持有的内存,不可读 /N/root 链接到进程的根目录 /N/stat 进程的状态 /N/statm 进程使用的内存的状态 /N/status 进程状态信息,比stat/statm更具可读性 /net 网卡设备信息 /net/dev 显示网络适配器及统计信息 /partitions 分区中的块分配信息 /pci 系统中的PCI设备列表 /schedstat kernel调度器的统计信息 /scsi scsi设备信息 /self 链接到当前正在运行的进程 /slabinfo 系统中所有活动的 slab 缓存信息 /stat 所有的CPU活动信息 /swaps 交换空间的使用情况 /sysrq-trigger 使用echo命令来写这个文件的时候,远程root用户可以执行大多数的系统请求关键命令,就好像在本地终端执行一样。要写入这个文件,需要把/proc/sys/kernel/sysrq不能设置为0。这个文件对root也是不可读的/sysvipc 查看系统所有msg消息队列,sem信号量和shm共享内存信息/timer_list 用于查看系统时钟设备以及定时器/timer_stats 查看当前系统中所有正在使用的 timer 的统计信息/tty tty设备信息 /uptime 系统已经运行了多久 /version Linux内核版本和gcc版本 /version_signature 发行版本等信息/vmallocinfo 虚拟机信息 ,包括进程的,线程的跟踪信息/vmcore 内核panic时的内存映像 /vmstat 虚拟内存统计信息 /zoneinfo 显示内存空间的统计信息,对分析虚拟内存行为很有用 4.进程(1)pcb(task_struct),tcb,ps,top,孤儿进程和程序,僵尸进程和程序,fork(),Vfork(),pthread_create()进程的定义:进程是可并发执行的程序在一个数据集合上的运行过程。Pcb: 在Linux中,每个进程在创建时都会被分配一个数据结构,称为进程控制块(Process Control Block,PCB)Fork返回值: 执行成功在父进程中返回子进程PID,子进程返回0,执行失败返回-1 (0 在子进程中运行 1 在父进程中运行 -1创建失败)Vfork()返回值:在子进程中返回0,在父进程中返回子进程的PIDFork与vfork的区别:fork复制父进程的副本,拥有自己独立的代码段,vfork是共享父进程的代码及数据段pthread_create():创建一个新的线程(2)进程的并行和并发执行,进程同步,异步等。进程调度算法同步: 就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回异步: 当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者并行: 指在同一时刻,有多条指令在多个处理器上同时执行并发: 指在同一时刻只能有一条指令执行,但多个进程指令被快速轮换执行(3) semaphore, mutex,critical_section,buzz 锁/spin_lock,等的数据结构和主要操作函数。信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。互斥操作(数据类型是pthread_mutex_t)的关键函数int pthread_mutex_lock( pthread_mutex_t *mutex ); 锁住临界区(不保准一定能锁住),针对快速 Mutex。int pthread_mutex_trylock( pthread_mutex_t *mutex );反复锁住临界区直到锁成功为止,针对递归 Mutex。int pthread_mutex_unlock( pthread_mutex_t *mutex ); 解除互斥。int pthread_mutex_destroy( pthread_mutex_t *mutex ); 解除一个已经存在的互斥量。(4)原子操作,等待队列,pv原语等以及底层实现技术,哲学家问题,生产消费问题。包括信号量的数据结构和几个关键的操作函数的含义. 包括对共享资源在上下文环境中的使用方法等。(可参见实验5)消息队列函数:int msgget( ); 创建消息队列 int msgctl( ); 消息队列属性控制int msgsnd( ); 发送信息到消息队列 size_t msgrcv( );从消息队列接受信息信号量函数:semget() 创建信号量集合 semctl() 控制信号量集合、信号量semop() 信号量操作(5)Linux进程状态和迁移图(至少5个状态)(6)阻塞概念阻塞调用是指调用结果返回之前,当前线程会被挂起.函数只有在得到结果之后才会返回(7)进程死亡概念和程序,创建僵尸进程和孤儿进程。僵死进程简而言之就是:子进程退出时,父进程并未对其发出的SIGCHILD信号进行适当处理,导致子进程停留在僵死状态等待其父进程为其收尸,这个状态下的子进程就是僵死进程。孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程.孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中.这种进程称之为僵死进程.创建孤儿进程#include #include #include #include int main()pid_t pid; pid = fork();/创建一个进程 i

温馨提示

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

评论

0/150

提交评论