[OS] 单班 project 1 我问助教的一些回答

楼主: barry800414 (小铭)   2011-10-29 23:17:04
1.client APPROACH SIZE 叙述是否有错误呢?
APPROACH: The approach using in the client to send messages.
0 Use “sendmsg()” to send messages.
1 Use “sendmmsg()” to send messages.
SIZE: If APPROACH is set to 1, it is the number of times of
invocation for “sendmsg()”. Otherwise, it is the batch size of
“sendmmsg()”, where the batch size is the third argument, vlen, of
sendmmsg() and the description of this argument can be found at
http://vacationhomexchg.com/lists/linux-man/msg02117.html. Also, the
maximum size is 2000.
在SIZE 这个地方的叙述,当APPROACH为1的时候是用sendmmsg,那SIZE怎么会是指定
sendmsg的次数呢? 感觉这个叙述应该是反过来?
是, 不好意思当初这边设计本来是 1 & 2 所以在修改上有些细节没注意到,
不过意思就如你所想, 若 APPRAOCH 设为 0 则代表sendmsg 送的次数,
反之则为 sendmmsg 的参数
p.s.课程网页上已改
2.关于recvmmsg的 vlen长度设定:
recvmmsg 的函式参数如下:
int recvmmsg(int sockfd, struct mmsghdr *msgvec, unsigned int vlen,
unsigned int flags, struct timespec *timeout);
第三项是vlen ,就我的理解是batch size , 意即要call几次 recvmsg ,
而因为server并不会知道client送msg送了几份,所以这边我是用BSIZE(=2048)当作参数
但是这样的话它就真会call recvmsg 2048次,它并不会看说client 只传了3次就只call
3次,但这样就不符合project 1的要求(至少output并不一样),而我有看过recvmsg和
recvmmsg的函式描述,还是找不到相关的解决办法说,所以想问这个问题要怎么解决
http://rswiki.csie.org/phpbb/viewtopic.php?f=19&t=316
不知道您尝试过论坛上的方法了吗?
server 一般而言是透过回传值来判断收的几份, 所以你可以观察你的 receive 2048 次,
是否只有 send 的那几笔资料, 剩下都为 null.
没错的话是要改 socket.c
把某两个 error <0 改成 error<=0
(已经测试成功 但会预期次数多1... )
3.关于要缴交的档案,要求是这么写的:
‧Upload your source codes and executable file, including Makefile,
*.c, *.h, to FTP server
‧Please put all files in a compressed file named ID_REV#.suffix, e.g
R98922177_0.zip for first upload.
我想问的是,因为我是直接去改Linux source code里面的一些档案(recompile的方法)
,就如助教投影片里面的方法,会改到 unistd_32.h、syscall_table_32.S、syscalls.h
、Makefile,这样是我要把这些档案连着server.c client.c myservice.c的档案都一并
压缩然后上传吗?? 需要写一个Makefile 去让他可以执行吗??
要的话有办法知道linux kernel source 的 资料夹在哪?
是的, 基本上你有修改到的档案都要包进来~ kernel 部份就附你有修改过得即可.
==========================================================================
以上的内容有做修改,并非完全原本的信寄件内容
希望有帮到大家
噢另外其实以后有问题感觉问助教会快一些,大概都一天内会回吧
作者: arthur104 (arthur)   0000-00-00 00:00:00
原来有人跟我一样有第二个问题...我也是多一次QQ
作者: s864372002 (鋼琴)   0000-00-00 00:00:00
推推^^
作者: paul112004 (Time to say goodbye)   0000-00-00 00:00:00
推!

Links booklink

Contact Us: admin [ a t ] ucptt.com