`
highsky
  • 浏览: 269512 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
    鬼谷子先生有两个绝顶聪明的门徒,一个叫孙宾(后来改名孙膑),一个叫庞涓。     有一天鬼谷子对他们说:“两个大于1而小于100的自然数相加=X,相乘=Y。谁能猜出我说的这两个自然数是多少?”     庞涓说:“条件太少了。X,Y都不知道,我没有办法算。”    “好,你附耳过来。”鬼谷子悄悄地告诉庞涓X是多少。然后又悄悄地告诉孙宾Y是多少。    “现在你们分别知道X,Y,谁能说出答案?”     庞涓想了一会,得意地说:“虽然我不知道答案是哪两个自然数,但是我知道孙宾也不知道这两个数是多少!”     孙宾淡淡一笑:“听你一说,现在我倒知道这两个数是多少了。”     庞涓大吃一惊: ...
  我没有参加Software Engineer的考试,错投了Product Test Engineer,搞得面试的时候没什么优势,不然说不定也有二面的机会给我。    这道题目是同学基本表述出来的,大意是从一堆人中找出明星,明星的条件是其他人都认识他,但他不认识其他人。题目的一个限制是效率要在O(n2)之下。短短时间之内,好象基本没有同学搞定。今天早上,花了将近一个小时的时间把这个问题解决了。其间想到很多概念,回溯,分治好象不可行哈,呵呵还是挺有意思的。    由此而看,就是一个行列式,可以定义如下,二阶数组a[n][n];    int query(int[4][4] a,int si ...
表示某进程的一个虚拟内存区域。 struct vm_area_struct {   struct mm_struct * vm_mm;  /* VM area parameters */   unsigned long vm_start;   unsigned long vm_end;   pgprot_t vm_page_prot;   unsigned short vm_flags; /* AVL tree of VM areas per task, sorted by address */   short vm_avl_height;   struct vm_area_s ...
每个任务队列结构(tq_struct)包含着已经排队的任务信息。它被设备驱动用来描叙那些无需立刻 执行的任务。 struct tq_struct {     struct tq_struct *next;   /* linked list of active bh's */     int sync;                 /* must be initialized to zero */     void (*routine)(void *);  /* function to call */     void *data;               /* argument ...
用来为进程实现实时时钟。 struct timer_list {   struct timer_list *next;   struct timer_list *prev;   unsigned long expires;   unsigned long data;   void (*function)(unsigned long); };
包含BSD套接口的信息。它不独立存在,一般位于一个VFS inode结构中。 struct socket {   short                type;         /* SOCK_STREAM, ...             */   socket_state         state;   long                 flags;   struct proto_ops     *ops;         /* protocols do most everything */   void                 *data;        ...
包含BSD套接口的协议相关信息。例如对于一个INET(Internet Address Domain)套接口此数据结构 包含TCP/IP和UDP/IP信息。 struct sock {     /* This must be first. */     struct sock             *sklist_next;     struct sock             *sklist_prev;     struct options          *opt;     atomic_t                wmem_alloc;     atomic ...
用来描叙在协议层之间交换的网络数据。 struct sk_buff {   struct sk_buff      *next;       /* Next buffer in list                   */   struct sk_buff      *prev;     /* Previous buffer in list */   struct sk_buff_head *list;       /* List we are on   */   int                 magic_debug_cookie;   struct sk_buf ...
保护临界区数据结构和代码信号灯。 struct semaphore {     int count;     int waking;     int lock ;                /* to make waking testing atomic */     struct wait_queue *wait; };
用来描叙向某个IP主机发送包的路由信息。此结构在IP路由cache内部实用。 struct rtable {     struct rtable     *rt_next;     __u32             rt_dst;     __u32             rt_src;     __u32             rt_gateway;     atomic_t          rt_refcnt;     atomic_t          rt_use;     unsigned long     rt_window;     atomic_t  ...
被用来向系统的块设备发送请求。它总是向buffer cache读出或写入数据块。 struct request {     volatile int rq_status;    #define RQ_INACTIVE            (-1) #define RQ_ACTIVE              1 #define RQ_SCSI_BUSY           0xffff #define RQ_SCSI_DONE           0xfffe #define RQ_SCSI_DISCONNECTING  0xffe0     kdev_t rq_dev; ...
表示系统中的每个PCI设备,包括PCI-PCI和PCI-PCI桥接器。 /* * There is one pci_dev structure for each slot-number/function-number * combination: */ struct pci_dev {   struct pci_bus  *bus;     /* bus this device is on */   struct pci_dev  *sibling;  /* next device on this bus */ struct pci_dev  *next;     /* ...
表示系统中的一个PCI总线。 struct pci_bus {   struct pci_bus  *parent;     /* parent bus this bridge is on */   struct pci_bus  *children;   /* chain of P2P bridges on this bus */   struct pci_bus  *next;       /* chain of all PCI buses */   struct pci_dev  *self;       /* bridge device as seen by parent */ ...
用来描叙某任务或进程的虚拟内存。 struct mm_struct {   int count;   pgd_t * pgd;   unsigned long context;   unsigned long start_code, end_code, start_data, end_data;   unsigned long start_brk, brk, start_stack, start_mmap;   unsigned long arg_start, arg_end, env_start, env_end;   unsigned long rss, total_vm, ...
用来保存每个物理页面的信息。 typedef struct page { /* these must be first (free area handling) */ struct page        *next;   struct page        *prev;   struct inode       *inode;   unsigned long      offset;   struct page        *next_hash;   atomic_t           count;   unsigned           flags;     / ...
Global site tag (gtag.js) - Google Analytics