1.搜索引擎成为互联网的重要应用之一:从90年代末开始,互联网上的网站与网页数量飞速增长,网民的兴趣点也从屈指可数的几家综合门户类网站分散到特色各异的中小网站去了。人们想在互联网上找到五花八门的信息,但由于人工分类编辑网站目录的方法受到时效和收录量的限
制,无法再满足人们对网上内容的检索需求,于是搜索引擎在2000年后开始大行其道。使用蜘蛛程序在互联网上自动抓取海量网页信息,索引并存储到庞大的数据库中,并通过特殊算法将相关性最好的结果瞬间呈现给搜索者,搜索引擎的便捷使其成为互联网最受欢迎的应用之一。以至于有相当多的人将浏览器的默认首页设为搜索引擎,甚至形成了将网站名称输入到搜索框中而非浏览器地址栏这样独特的网络导航习惯。
2.搜索成为人们思考行为的一部分,如火如荼的发展,网民从单纯的信息获取者演变成信息发布者,人们通过网络分享自己的知识、体验、情感或见闻,使互联网上的内容越来越丰富多彩。例如,按照统计,中国网民在百度知道平台上的问题解决率高达97.9%,这些问题涉及科技、社会、文化、商业等各个方面,尤其对人们的衣食住行等日常生活问题,几乎都能从平台获得满意的答案。截至到09年7月的4年时间内,中文互动问答平台百度知道已经累计为中国网民解决了5650多万个问题,成为人们日常生活的最佳互动问答平台。社区内容上的无所不谈使搜索引擎的收录也变得无所不包,人们发现通过搜索引擎可以找到他想要的任何信息,从新闻热点到柴米油盐,从育儿百科到MBA课程。信息的便捷获取潜移默化的改变了人们的思考行为,搜索结果页上汇集了整个互联网的智慧,谁不想在苦思冥想前“搜索一下”呢?
3.搜索成为人们消费行为的重要环节:随着对搜索引擎的依赖加深,当人们有消费需求或看到感兴趣的商品时,“搜索一下”已经是已形成的“条件反射”。以前,消费者依靠“货比三家”来对抗“买的没有卖的精”这种与商家之间的信息不对称。通过搜索引擎收集到的产品功能与使用情况弥补了消费者与推广商家间在知情权上的鸿沟,成为消费决策的重要依据。价格低的线上销售渠道也成为搜索热点,以至于出现了消费者为省钱而先到实体专卖店挑选合适型号大小货品再到网店付款下单的有趣现象。随着年轻一代消费能力的提高,从前仅限于图书音像和电子产品的网上购物正在向工作生活的各个层面迅速渗透,服装食品等日用消费品也逐渐成为网购的宠儿。在这些过程中,其实都运用了SEM。
1. 用grep命令显示在文件a中所有包含每个字符串至少有5个连续小写字符的字符串的行。cat a | grep -E "[a-z]{5,}"
2. $ find / -name "test.c" -type f -mtime +3 -user greek -exec rm {} \的含义。
找出并且删除根目录及其子目录下 所有文件名为test.c的普通的文本文件 ,且该文件的最后修改时间以当前时间为参照大于3天时间
3. 在一个程序崩溃时,它一般会在指定目录下生成一个core文件。如果没生成core文件,可能是什么原因?怎么解决?
答:用“ulimit -c”命令查看当前系统设置的core文件的大小门限值
一般情况是core文件的大小超过了这个值
执行 “ulimit -c unlimited”命令后,操作系统不在限制core文件大小,或者把unlimited 替换成一个适当的值。
4. 执行命令 ls –l 时,某行显示如下:
-rw-r--r-- 1 chris chris 207 jul 20 11:58 mydata
(1)用户chris对该文件具有什么权限?
答:chris对mydata文件具有读写的权限
(2)如何使任何用户都可以读写执行该文件?
答:chmod 777 mydata
5. 大学校门处要求来客登记,只有一张登记表,登记表同时只能由一个人使用,用P、V原语描述一个校外人员进入大学的过程。
三、程序填空题(每小题10分,共20分)1.阅读下面程序,请将其补充完整。
#define SHMDATASIZE 1000//共享内存大小,以字节为单位
void server(void)
{
union semun sunion
int semid, shmid
void *shmdata
char *buffer
semid=semget(_________________)//创建两个信号量
sunion.val=1
semctl(____________________)//设置信号量编号为0的值
sunion.val=0semctl(____________________)//设置信号量编号为1的值
shmid=shmget(____________________)
shmdata=shmat(___________________)
*(int *)shmdata=semid
buffer=shmdata+sizeof(int)
printf("Server is running with SHM id ** %d**\n", shmid)}
2.阅读下面程序,请将其补充完整。
#define BUFFERSIZE 1024
void locksem(int semid, int semnum)
{
struct sembuf sb
sb.sem_num=semnum
sb.sem_op=________//P操作
sb.sem_flg=SEM_UNDO
semop(_______________________)
}
void unlocksem(int semid, int semnum)
{
struct sembuf sb
sb.sem_num=semnum
sb.sem_op=________//V操作
sb.sem_flg=SEM_UNDO
semop(______________________)
}
void clientwrite(int semid, char *buffer){
locksem(semid, 0)
printf("Enter Message: ")
fgets(_______________)//从键盘输入一个字符串
unlocksem(semid, 1)
}
四、阅读程序题(共3小题,每小题10分,共30分)
1. 运行下面程序,最多运行多少个进程?画出进程家族树。
#include "stdio.h"
#include "sys/types.h"
#include "unistd.h"
int main()
{
pid_t pid1
pid_t pid2
pid1 = fork()
pid2 = fork()
}
答最多有4个进程
首先第一次调用fork 主进程会产生一个pid1的子进程
然后pid1和主进程会分别调用一次pid2 = fork()分别再产生一个子进程因此一共最多4个进程
2. 下面给出了一个SHELL程序,试对其行后有#(n)形式的语句进行解释,并说明程序完成的功能。
#!/bin/bash #(1)定义该shell脚本由哪中类型的shell解释器解析
dir=$1#(2)将shell程序的第一个命令行参数付给变量dir
if [ -d $dir ]#(3)判断dir的值是否是一个目录
then cd $dir #(4)如果dir是目录则进入该目录
for file in *
do
if [-f $file ]#(5)判断file是否为一个文件
then
cat $file #(6)打开文件,将文件内容输出到标准输出流中
echo “end of file $file”
fi
done
else
echo “bad directory name $dir”
fi
3. 阅读Makefile文件,回答以下问题:
(1) 此Makefile文件的主要功能是什么?
编译f1.c f2.c f3.c三个文件,最终生成动态链接库libmys.so
(2) 此Makefile文件包含多少个规则?它们分别是什么?
包含4个规则
第一个 “TGT = $(patsubst %.c, %.o, $(SRC))”
将$(SRC)目录下的所有以.c为后缀的文件替换成.o结尾,且存入TGT变量中
第二个 “%.o : %.c
cc -c $<”
用cc命令依次将三个源文件编译成目标文件
第三个
libmys.so : $(TGT)
cc -shared -o $@ $(TGT)
用上一步生成的3个中间文件生成动态链接库libmys.so
第四个
clean:
rm -f $(TGT)
执行 make clean 后 会删除所有的中间文件即.o文件
(3) 使用此Makefile文件可以生成目标文件f2.o吗?为什么?
答:可以,因为该makefile的逻辑是先生成所有的.o文件,然后再生成动态链接库。
all : libmys.so
SRC = f1.c f2.c f3.c
TGT = $(patsubst %.c, %.o, $(SRC))
%.o : %.c
cc -c $<
libmys.so : $(TGT)
cc -shared -o $@ $(TGT)
clean:
rm -f $(TGT)
编程题没做,楼主一、见谅,有时间做了补充下答案
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)