Linux考试范围

2019-12-16  本文已影响0人  别叫我张老板

特别声明

简答和编程

写出20条命令

ls mv cp mkdir touch cd pwd chmod kill help rm cat echo bash more less find tar gcc su

写出shell脚本的执行方法

说明Linux程序的执行时间包括哪些部分

shell脚本

#!/bin/bash
sum=0
for i in {1..1000}
do
    sum=$[$i+$sum]
done
echo $sum
#!/bin/bash
var=1
for i in {1..1000}
do
 var=$[$var*$i]
done
echo $var

linux自带的库函数有哪些类型

列出linux操作系统中文件的类型

写出linux系统向进程发送信号的几种机制

简述应用程序编程接口

列出与文件I/O操作相关的应用编程接口

要求内核打开相应的文件、宣告想要访问I/O设备或文件

可以改变当前文件的读写位置

向文件读或写数据

通知内核关闭文件

列出进程间通信的应用编程接口

创建管道的命令

创建管道

创建和访问消息队列

把消息添加到消息队列中

从消息队列中获取信息

消息队列控制函数

创建共享内存

访问共享内存

将共享内存从当前进程中分离

共享内存控制函数

创建信号量

增加或价绍信号量

信号量控制函数

论述

v-node表、文件表、描述符表。v-node表:linux将打开文件的属性信息保存在v-node中,所有v-node构成v-node表。文件表:linux将打开文件信息存储在文件对象中,所有文件对象构成文件表。描述符表:存储文件描述符,用于定位文件的位置。

全局变量、本地自动变量、本地静态变量。全局变量:被映射到进程虚拟存储器的可读写数据区域,仅有一个运行实例。本地自动变量:函数未调用时不分配内存,调用时被映射到线程堆栈中,可以拥有一个至多个运行实例。本地静态变量:被映射到虚拟存储器的可读写区域,仅有一个运行实例。

画图描述及分析

分析进程家族关系

  • 系统创建子进程PCB,内容复制于父进程PCB,新分配PID
  • 创建父进程数据集的一个副本,保存于新分配的存储器中,作为子进程数据集
#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<stdlib.h>
int glob=10;
int main(void){ 
 int local;
 pid_t pid;
 local=8;
 if((pid=fork())==0){ 
  sleep(4);
 }
 else{ 
  glob++;
  local--;
  sleep(10);
 }
 printf("pid=%d,glob=%d,local=%d\n",getpid(),glob,local);
 exit(0);
}
  • 结果
    pid=3000,glob=10,local=8 //子进程
    pid=2999,glob=11,local=7 //父进程
  • 说明图
    进程.png
上一篇下一篇

猜你喜欢

热点阅读