05 2009存档

intel免费书

| | Comments (2) | TrackBacks (0)
      前几周用gmail发邮件申请intel的免费技术手册,结果两周了都没回音。我还琢磨是不是因为在博客上揭露了intel中国“丑恶”的实习生制度,他们报复。不过再想想:这是intel中国分部的事,总部应该不知道,再说了,鄙人无名小卒,还能入他眼?周一就再用公司邮箱重发了申请,今早果然收到答复了,说纸质的技术手册没有库存了,09年也不会再印了,问我要不要光盘版的。

Dear Intel® Customer,
 
We have received your request for the Intel® 64 and IA-32 Architectures Software Developer's Manuals. 
 
The Software Manuals are currently out of stock and will not be reprinted for the remainder of 2009.  
 
We are now offering the software copy manuals on CD ROM.  Please let us know if you would like us to send you the CD ROM.
 
If you have any questions, please let me know.
 
Thank you,
 
Intel® Customer Service
(800) 548-4725

看来经济危机厉害,intel这样财大气粗的也不派书了。我还是明年再申请吧——如果那时候我还想要的话。

------ 后记 ------
     
      后来又发邮件问intel什么时候才能新印手册,回信说这个秋后(果然是秋后算账),只能到时候再申请看看了。

Linux内核编程,能拿到当前任务的pid(current->pid),可如果当前是线程,想拿到创建它的进程的pid,怎么拿呢?
这样: current->signal->pgrp
这招儿仅适用于pthread创建的线程,其它的没有测试。

====== 2009.12.16分割线 ======
感谢刘刚同学提供:
最佳的方法是取current->tgid , tgid
即缩写 thread group id。

内核代码判断一个线程是否是线程组的leader也是这个方法:
下句宏定义摘自2.6.9内核 sched.h
#define thread_group_leader(p)  (p->pid == p->tgid)

current->signal->pgrp 有另外一个准确的含义:
sched.h中有这么一个函数:
static inline pid_t process_group(struct task_struct *tsk) {
        return tsk->signal->pgrp;
}
这说明 current->signal->pgrp 表示进程组的leader id。
当然对于一个线程来说current->signal->pgrp和current->tgid是一致的。

在virtualbox上装freedos,遇到两个问题,解决之(也可算是敷衍之):

1. 新创建一个虚拟硬盘,从cdrom引导启动freedos后,想格一下硬盘,结果报“fail read partition table",裸盘它都不认,莫名奇妙
解决办法:先run freedos on cdrom,然后fdisk硬盘

2. 装完freedos后,居然不能从硬盘启动
解决办法:还是先run freedos on cdrom,然后到c盘下,运行autoexec.bat,算是进入了硬盘上安装的dos了...
accept原型:

int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

这个addrlen要小心,看上去是传指针,似乎用于输出长度,但是它不仅用来传出地址长度,本身也是作为输入的——等于传入addr的长度。用法类似:

struct sockaddr addr;
socklen_t addrlen = sizeof(struct sockaddr);

int fd = accept(sockfd, &addr, &addrlen);
....


关于存档

This page is an archive of entries from 05 2009 listed from newest to oldest.

04 2009 is the previous archive.

06 2009 is the next archive.

Find recent content on the main index or look in the 存档 to find all content.