Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1384656
  • 博文数量: 370
  • 博客积分: 10654
  • 博客等级: 中将
  • 技术积分: 4396
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-07 15:44
文章分类

全部博文(370)

文章存档

2012年(36)

2011年(195)

2010年(139)

分类: LINUX

2011-08-07 07:39:34

西邮Linux兴趣小组10暑期学习周总结

第三周(729日至84日)

  第三组

组长:陈嘉杰

组员: 张释文  曹宝文  齐航空   扬帆  王鑫茂

本周任务

《linuxC编程实战》


      第三周:7月29到8月4 ,《Linux C 编程实战》


第七章:进程控制 理解进程的概念,这里建议可以看一些操作系统方面的书,这样能有助于理解进程的概念。


《鸟哥的私房菜》


第八章,在本章节中,熟悉linux文件系统,重点的掌握fdisk命令和mount命令的应用,熟悉ln命令,会区别软链接与硬链接的区别,熟悉启动与载入的过程。在本章中要求熟练掌握/etc/fstab文件的修改。

第九章,在本章中主要掌握文件的压缩与解压缩的方法,要求熟练掌握tar的各种参数的应用,了解其他格式包的接压缩方式,如:rarzip




小组总结
未解决的问题:

Q1.数据存储的大端模式与小端模式?,那样存储有什么好处?


Q2.32位机上的内存是用4个字节存的,能记录的最大地址值为2^32-1,也就

3G多一点,那是不是意味着装太大的内存条,系统最后根本就不会去用?


Q3.标识符在内存中有具体的地址去存,机器又是怎样通过标识符去读取值的?


Q4.gcc编译环境,在先定义后使用的原则下,可以不在函数头就定义,再使用之前定义即可。在VC环境下却不可以。

:

1    #include

2    int main()

3    {

4    int a= 9;

5    a++;

6    printf(“%d\n”, a);

7    char b = 'b'

8    printf(“%c\n”, b);

9    double c[2][2];


10  return 0;


11  }



gcc 下可以编译通过,并输出10 b , 而VC下却在第7行报错。

这是为什么?


Q5.进程中的会话是什么意思?会话组长,会话期,进程组长怎么理解?






Q6线程的数据不是在堆栈中存储么,为什么还需要树形结构?树形结构是什么?

Q7:实验题中对写关于重定向及管道的那不分不明白特别是dup(),dup2()函数与重定向和管道的关系等.


Q8.linux下的软件一般都安装在哪里?为什么安装软件时没有让用户选择路径,linuxwindows下在软件安装时有什么区别?


已解决的问题:

Q1:书上说,进程被挂起是处于阻塞态还是就绪态?
A1 : 就绪态,资源已经拥有,等待分配 CPU资源
Q2:fork函数创建进程的时候,书上的例子,某个进程在执行时被别的进程抢走了cpu,那个别的进程会不会是该进程本身?

A2 : 不是该进程本身,是另一个进程,使用fork()后,会产生两个进程:父子进程,父子进程来争夺CPU资源。


Q3 : 书上7-7例子没怎么看懂,程序执行到switch语句case0时,没执行完怎么跳出来了,去执行        defalt了?fork函数返回两个值,他把这两个值同时赋给了pid么?

A3 : 调用新的可执行程序后,原有的子进程的映像被代替,不再被执行。 exec调用并没有生成新的进程,一个进程一但调用exec函数,它本身就“死亡”        了,系统把代码段替换成新的程序的代码,废弃原有的数据段和堆栈段,并重新分配数据段和代码段,唯一保留的就是进程ID,所以在执行exec后。进程不会在执行exec之后的语句,而是执行exec()内的可执行程序或者是shell脚本。


Q4:那个exit()以及_exit()函数的区别.....特别的当调用exit()函数时它要进行一系列的清楚工作.....这些清楚工作具体指什么。
A4 : Exit();包含在#include 退出程序时,会清空缓存区里面的内容。而_exit();包含在#inlcude 执行后直接退出程序。详情可参考邮件列表


Q5:如果使用wait()函数,当父进程同时创建了两个子进程,那么他将等待那个子进程结束,书中讲了他会等待一个子进程结束,求他具体等待的规则。
A5 : wait()函数将等待第一个结束的子进程。 




      这周没有进行小组内讨论,直接进行四组讨论,这样大家的问题都可以得到分享,还能集思广益解决了不少问题。
     接下来的3周将要进行线程编程和更深入的linux学习,希望大家能坚持下来!


陈嘉杰

学习进度:

linuxC编程实战》第七章

学习体会:

        1、这周学习了进程控制,一开始的学习觉的进程还是很难理解,如创建进程后只要不退出进程,父进程和子进程都会执行一遍从创建进程开始后的执行语句。 后来请教了下刘丹阳,终于理解了进程的执行过程。

        2、在学习setuid那里,对s权限的设置有疑惑,向赵桥请教了下,也明白了,s权限只能对可执行文件使用,s权限是为了给其他用户一些权限,这些权限就是设置了s权限的可执行文件的属主权限.

        3、 大学的学习与高中不同,大学的知识很广,遇到一个问题,不能因为这一个小问题而放弃了这段时间真正要学习的知识,应该先了解问题的整体框架,对小问题有个初步的认识,在日后学习了更多的知识后就能轻松的解决这些问题。

遇到的问题:

Q1.gcc编译环境,在先定义后使用的原则下,可以不在函数头就定义,再使用之前定义即可。

:

1    #include

2    int main()

3    {

4    int a= 9;

5    a++;

6    printf(“%d\n”, a);

7    char b = 'b'

8    printf(“%c\n”, b);

9    double c[2][2];



10  return 0;


11  }



gcc 下可以编译通过,并输出10 b , 而VC下却在第7行报错。

这是为什么?

2.进程中的会话是什么意思?会话组长,进程组长怎么理解?





扬帆

学习进度


   本周主要学习了进程部分。
   了解fork()vfork()函数创建进程,以及对孤儿进程的理解。

遇到的问题:

Q1:守护进程不能很好理解,以及对调用setsid创建一个新的对话期....以及会话组长这些东西,不能理解。

Q2:那个exit()以及_exit()函数的区别.....特别的当调用exit()函数时它要进行一系列的清楚工作.....这些清楚工作具体指什么。

Q3:如果使用wait()函数,当父进程同时创建了两个子进程,那么他将等待那个子进程结束,书中讲了他会等待一个子进程结束,求他具体等待的规则。

Q4:实验题中对写关于重定向及管道的那不分不明白特别是dup(),dup2()函数与重定向和管道的关系等....

Q5.linux下的软件一般都安装在哪儿...为什么安装软件时没有让用户选择路径,linuxwindows下在软件安装时有什么区别

齐航空




学习进度:

《鸟哥私房菜》 第8

Linux C编程实战》 第7

《数据结构》前三章

学习体会:

鸟哥第8章讲的是磁盘与文件系统的管理有很多的命令要去熟悉,c编程实战第七章进程控制概念 和函数都要不断的去实践,熟悉。。

学习中遇到的问题:

Q1.数据存储的大端模式与小端模式??,那样存储有什么好处?

Q2.32位级上的内存是用4个字节存的,能记录的最大地址值为2^32-1,也就是3G多一点,那是不是意味着我装太大的内存条,系统最后根本就不会去用?

Q3.标识符在内存中有具体的地址去存,机器又是怎样通过标识符去读取值的?


张释文

学习进度:

Linux下的c编程实战》 第七章

《鸟哥的私房菜》 第七章

遇到的问题:

1、线程的数据不是在堆栈中存储么,为什么还需要树形结构?树形结构是什么?




2、书上说,进程被挂起是处于阻塞态还是就绪态?
3fork函数创建进程的时候,书上的例子,某个进程在执行时被别的进程抢走了cpu,那个别的进程会不会是该进程本身?
4、书上7-7例子没怎么看懂,程序执行到switch语句case0时,没执行完怎么跳出来了,去执行        defalt了?fork函数返回两个值,他把这两个值同时赋给了pid么?
5、系统调用和函数库没怎么看懂,书上说的是execve函数是系统调用其他的函数库。
6、 守护进程书上的例子还是不懂。

学习体会

1、进程要慢慢理解。

2、看不懂的知识就多看几遍,总会明白的。


曹宝文


学习进度:

Linux C 编程实战》第七章:进程控制

《鸟哥linux私房菜》第八章,第九章




学习体会:

进程控制这一章只简单看了一下,有进程的概念,进程的内存映像,及进程的各种操作等。
进程概述讲了linux进程,进程控制,进程的内存映像
进程操作讲了创建进程,创建守护进程,进程退出,执行新程序,等待进程结束等环节。
进程的其他操作讲了获得进程ID,setuidsetgid来分别设置用户,用户组的ID及改变进程的优先级(调用nice)。

遇到问题

1,读到链接文件 关于硬链接这块觉得一时还难以理解

2myshell比较难以实现 ,还有创建守护进程。

阅读(892) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~