![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
highsky_2002
这个作者很懒,什么都没留下…
展开
-
Linux核心数据结构--进程或任务
[b]struct task_struct{[/b] /* these are hardcoded - don't touch */ [b] volatile long state; [/b] /* -1 unrunnable, 0 runnable, >0 stopped */[b] long counter...2006-11-10 18:01:24 · 83 阅读 · 0 评论 -
Linux核心数据结构--pci_bus
表示系统中的一个PCI总线。[b]struct pci_bus { struct pci_bus *parent; [/b] [i]/* parent bus this bridge is on */[/i] [b]struct pci_bus *children; [/b] [i]/* chain of P2P bridges on this bus */[/...2006-11-10 18:43:15 · 192 阅读 · 0 评论 -
Linux核心数据结构--pci_dev
表示系统中的每个PCI设备,包括PCI-PCI和PCI-PCI桥接器。[i]/* * There is one pci_dev structure for each slot-number/function-number * combination: */[/i][b]struct pci_dev { struct pci_bus *bus;[/...2006-11-10 18:46:14 · 384 阅读 · 0 评论 -
Linux核心数据结构--request
被用来向系统的块设备发送请求。它总是向buffer cache读出或写入数据块。[b]struct request { volatile int rq_status; #define RQ_INACTIVE (-1)#define RQ_ACTIVE 1#define RQ_SCSI_BUSY ...2006-11-10 18:47:32 · 576 阅读 · 0 评论 -
Linux核心数据结构--rtable
用来描叙向某个IP主机发送包的路由信息。此结构在IP路由cache内部实用。[b]struct rtable { struct rtable *rt_next; __u32 rt_dst; __u32 rt_src; __u32 rt_gatewa...2006-11-10 18:48:51 · 742 阅读 · 0 评论 -
Linux核心数据结构--semaphore
保护临界区数据结构和代码信号灯。[b]struct semaphore { int count; int waking; int lock ; [/b] [i]/* to make waking testing atomic */[/i] [b]struct wait_queue *wait;};[...2006-11-10 18:49:53 · 65 阅读 · 0 评论 -
Linux核心数据结构--sk_buff
用来描叙在协议层之间交换的网络数据。[b]struct sk_buff { struct sk_buff *next; [/b] /* Next buffer in list */ [b]struct sk_buff *prev; [/b] /* Previous buffer in lis...2006-11-10 18:57:11 · 154 阅读 · 0 评论 -
Linux核心数据结构--sock
包含BSD套接口的协议相关信息。例如对于一个INET(Internet Address Domain)套接口此数据结构 包含TCP/IP和UDP/IP信息。[b]struct sock {[/b] /* This must be first. */ [b]struct sock *sklist_next; struct ...2006-11-10 19:03:31 · 164 阅读 · 0 评论 -
Linux核心数据结构--socket
包含BSD套接口的信息。它不独立存在,一般位于一个VFS inode结构中。[b]struct socket { short type; [/b] /* SOCK_STREAM, ... */ [b]socket_state state; long ...2006-11-10 19:05:14 · 197 阅读 · 0 评论 -
Linux核心数据结构--timer_list
用来为进程实现实时时钟。[b]struct timer_list { struct timer_list *next; struct timer_list *prev; unsigned long expires; unsigned long data; void (*function)(unsigned long);};[/b]...2006-11-10 19:09:26 · 88 阅读 · 0 评论 -
Linux核心数据结构--tq_struct
每个任务队列结构(tq_struct)包含着已经排队的任务信息。它被设备驱动用来描叙那些无需立刻 执行的任务。[b]struct tq_struct { struct tq_struct *next;[/b] /* linked list of active bh's */ [b]int sync;[/b] /* must b...2006-11-10 19:10:39 · 1574 阅读 · 0 评论 -
Linux核心数据结构--vm_area_struct
表示某进程的一个虚拟内存区域。[b]struct vm_area_struct { struct mm_struct * vm_mm;[/b] /* VM area parameters */ [b]unsigned long vm_start; unsigned long vm_end; pgprot_t vm_page_prot; u...2006-11-10 19:12:16 · 356 阅读 · 0 评论 -
Linux核心数据结构--mm_struct
用来描叙某任务或进程的虚拟内存。[b]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...2006-11-10 18:40:07 · 350 阅读 · 0 评论 -
Linux核心数据结构--mem_map_t
用来保存每个物理页面的信息。[b]typedef struct page {[/b] [i] /* these must be first (free area handling) */[/i] [b] struct page *next; struct page *prev; struct inode *inode;...2006-11-10 18:38:22 · 458 阅读 · 0 评论 -
Linux核心数据结构--linux_binfmt
用来表示可被Linux理解的二进制文件格式。[b]struct linux_binfmt { struct linux_binfmt * next; long *use_count; int (*load_binary)(struct linux_binprm *, struct pt_regs * regs); int (*load_shlib)...2006-11-10 18:36:48 · 711 阅读 · 0 评论 -
Linux核心数据结构--block_dev_struct
此结构用于向核心登记块设备,它还被buffer cache实用。所有此类结构都位于blk_dev数组中。[b]struct blk_dev_struct { void (*request_fn)(void); struct request * current_request; struct request plug; struct...2006-11-10 18:03:31 · 267 阅读 · 0 评论 -
Linux核心数据结构--buffer_head
此结构包含关于buffer cache中一块缓存的信息。/* bh state bits */[b]#define BH_Uptodate 0 [/b] /* 1 if the buffer contains valid data */[b]#define BH_Dirty 1 [/b] /* 1 if the buffer is dirty ...2006-11-10 18:07:40 · 525 阅读 · 0 评论 -
Linux核心数据结构--device
系统中每个网络设备都用一个设备数据结构来表示。[b]struct device {[/b] /* * This is the first field of the "visible" part of this structure * (i.e. as seen by users in the "Space.c" file). It is the ...2006-11-10 18:21:21 · 117 阅读 · 0 评论 -
Linux核心数据结构--device_struct
此结构被块设备和字符设备用来向核心登记(包含设备名称以及可对此设备进行的文件操作)。chrdevs和blkdevs 中的每个有效分别表示一个字符设备和块设备。[b]struct device_struct { const char * name; struct file_operations * fops;};[/b]...2006-11-10 18:22:24 · 95 阅读 · 0 评论 -
Linux核心数据结构--file
每个打开的文件、套接口都用此结构表示。[b]struct file { mode_t f_mode; loff_t f_pos; unsigned short f_flags; unsigned short f_count; unsigned long f_reada, f_ramax, f_raend, f_ralen, f_rawin;...2006-11-10 18:24:26 · 115 阅读 · 0 评论 -
Linux核心数据结构--files_struct
描叙被某进程打开的所有文件。[b]struct files_struct { int count; fd_set close_on_exec; fd_set open_fds; struct file * fd[NR_OPEN];};[/b]2006-11-10 18:26:06 · 143 阅读 · 0 评论 -
Linux核心数据结构--fs_struct
这个还不知道是啥[b]struct fs_struct { int count; unsigned short umask; struct inode * root, * pwd;};[/b]2006-11-10 18:27:02 · 586 阅读 · 0 评论 -
Linux核心数据结构--gendisk
包含关于某个硬盘的信息。用于磁盘初始化与分区检查时。[b]struct hd_struct { long start_sect; long nr_sects;};struct gendisk {[/b] [b]int major;[/b] /* major number of driver */...2006-11-10 18:31:37 · 387 阅读 · 0 评论 -
Linux核心数据结构--inode
此VFS inode结构描叙磁盘上一个文件或目录的信息。[b]struct inode { kdev_t i_dev; unsigned long i_ino; umode_t i_mode; nlink_t ...2006-11-10 18:32:37 · 265 阅读 · 0 评论 -
Linux核心数据结构--ipc_perm
此结构描叙对一个系统V IPC对象的存取权限。[b]struct ipc_perm{ key_t key;[/b] [b]ushort uid; [/b] /* owner euid and egid */ [b]ushort gid;[/b] [b]ushort cuid;[/b] /* creator euid and egid *...2006-11-10 18:33:47 · 416 阅读 · 0 评论 -
Linux核心数据结构--irqaction
用来描叙系统的中断处理过程。[b]struct irqaction { void (*handler)(int, void *, struct pt_regs *); unsigned long flags; unsigned long mask; const char *name; void *dev_id; struct ir...2006-11-10 18:35:58 · 366 阅读 · 0 评论 -
Linux环境进程间通信
这些确实是最基本最实用的东西,但我想 操作系统实现中最复杂的是 其提供的图形图像接口部分, 因为这些逻辑学上的东西人都能读读,但可不是每一个程序员都能够应付 矢量及3D运算的。怪不得谈及directx大家都认为微软做了大大的好事。 服务器跑在Linux上,有些东西还需要用C写server起进程来跑,先前用了消息队列,不过是用php写的server下用的,现在用共享内存,不得不综合了解一番了...原创 2009-06-08 19:53:54 · 198 阅读 · 0 评论