46 * the current mask in old_mask and block until a signal comes in. 47 */ /* 自动地更换成新的信号屏蔽码, 并等待信号的到来 * * 我们需要对系统调用 (syscall) 做一些处理 我们会从系统调用库接口取得某些信息

Size: px
Start display at page:

Download "46 * the current mask in old_mask and block until a signal comes in. 47 */ /* 自动地更换成新的信号屏蔽码, 并等待信号的到来 * * 我们需要对系统调用 (syscall) 做一些处理 我们会从系统调用库接口取得某些信息"

Transcription

1 程序 8-6 linux/kernel/signal.c 1 /* 2 * linux/kernel/signal.c 3 * 4 * (C) 1991 Linus Torvalds 5 */ 6 7 #include <linux/sched.h> // 调度程序头文件, 定义任务结构 task_struct 初始任务 0 的数据, // 还有一些有关描述符参数设置和获取的嵌入式汇编函数宏语句 8 #include <linux/kernel.h> // 内核头文件 含有一些内核常用函数的原形定义 9 #include <asm/segment.h> // 段操作头文件 定义了有关段寄存器操作的嵌入式汇编函数 #include <signal.h> // 信号头文件 定义信号符号常量, 信号结构及信号操作函数原型 12 #include <errno.h> // 出错号头文件 定义出错号符号常量 13 // 获取当前任务信号屏蔽位图 ( 屏蔽码或阻塞码 ) sgetmask 可分解为 signal-get-mask 以下类似 14 int sys_sgetmask() 15 { 16 return current->blocked; 17 } 18 // 设置新的信号屏蔽位图 信号 SIGKILL 和 SIGSTOP 不能被屏蔽 返回值是原信号屏蔽位图 19 int sys_ssetmask(int newmask) 20 { 21 int old=current->blocked; current->blocked = newmask & ~(1<<(SIGKILL-1)) & ~(1<<(SIGSTOP-1)); 24 return old; 25 } 26 // 检测并取得进程收到的但被屏蔽 ( 阻塞 ) 的信号 还未处理信号的位图将被放入 set 中 27 int sys_sigpending(sigset_t *set) 28 { 29 /* fill in "set" with signals pending but blocked. */ /* 用还未处理并且被阻塞信号的位图填入 set 指针所指位置处 */ // 首先验证进程提供的用户存储空间应有 4 个字节 然后把还未处理并且被阻塞信号的位图填入 // set 指针所指位置处 30 verify_area(set,4); 31 put_fs_long(current->blocked & current->signal, (unsigned long *)set); 32 return 0; 33 } /* atomically swap in the new signal mask, and wait for a signal. 36 * 37 * we need to play some games with syscall restarting. We get help 38 * from the syscall library interface. Note that we need to coordinate 39 * the calling convention with the libc routine. 40 * 41 * "set" is just the sigmask as described in , * It is assumed that sigset_t can be passed as a 32 bit quantity. 43 * 44 * "restart" holds a restart indication. If it's non-zero, then we 45 * install the old mask, and return normally. If it's zero, we store

2 46 * the current mask in old_mask and block until a signal comes in. 47 */ /* 自动地更换成新的信号屏蔽码, 并等待信号的到来 * * 我们需要对系统调用 (syscall) 做一些处理 我们会从系统调用库接口取得某些信息 * 注意, 我们需要把调用规则与 libc 库中的子程序统一考虑 * * "set" 正是 POSIX 标准 的 节中所描述的信号屏蔽码 sigmask * 其中认为类型 sigset_t 能够作为一个 32 位量传递 * * "restart" 中保持有重启指示标志 如果为非 0 值, 那么我们就设置原来的屏蔽码, * 并且正常返回 如果它为 0, 那么我们就把当前的屏蔽码保存在 oldmask 中 * 并且阻塞进程, 直到收到任何一个信号为止 */ // 该系统调用临时把进程信号屏蔽码替换成参数中给定的 set, 然后挂起进程, 直到收到一个 // 信号为止 // restart 是一个被中断的系统调用重新启动标志 当第 1 次调用该系统调用时, 它是 0 并且 // 在该函数中会把进程原来的阻塞码 blocked 保存起来 (old_mask), 并设置 restart 为非 0 // 值 因此当进程第 2 次调用该系统调用时, 它就会恢复进程原来保存在 old_mask 中的阻塞码 48 int sys_sigsuspend(int restart, unsigned long old_mask, unsigned long set) 49 { // pause() 系统调用将导致调用它的进程进入睡眠状态, 直到收到一个信号 该信号或者会终止 // 进程的执行, 或者导致进程去执行相应的信号捕获函数 50 extern int sys_pause(void); 51 // 如果 restart 标志不为 0, 表示是重新让程序运行起来 于是恢复前面保存在 old_mask 中的 // 原进程阻塞码 并返回码 -EINTR( 系统调用被信号中断 ) 52 if (restart) { 53 /* we're restarting */ /* 我们正在重新启动系统调用 */ 54 current->blocked = old_mask; 55 return -EINTR; 56 } // 否则表示 restart 标志的值是 0 表示第 1 次调用 于是首先设置 restart 标志 ( 置为 1), // 保存进程当前阻塞码 blocked 到 old_mask 中, 并把进程的阻塞码替换成 set 然后调用 // pause() 让进程睡眠, 等待信号的到来 当进程收到一个信号时,pause() 就会返回, 并且 // 进程会去执行信号处理函数, 然后本调用返回 -ERESTARTNOINTR 码退出 这个返回码说明 // 在处理完信号后要求返回到本系统调用中继续运行, 即本系统调用不会被中断 57 /* we're not restarting. do the work */ /* 我们不是重新重新运行, 那么就干活吧 */ 58 *(&restart) = 1; 59 *(&old_mask) = current->blocked; 60 current->blocked = set; 61 (void) sys_pause(); /* return after a signal arrives */ 62 return -ERESTARTNOINTR; /* handle the signal, and come back */ 63 } 64 // 复制 sigaction 数据到 fs 数据段 to 处 即从内核空间复制到用户 ( 任务 ) 数据段中 65 static inline void save_old(char * from,char * to) 66 { 67 int i; 68 // 首先验证 to 处的内存空间是否足够大 然后把一个 sigaction 结构信息复制到 fs 段 ( 用户 ) // 空间中 宏函数 put_fs_byte() 在 include/asm/segment.h 中实现

3 69 verify_area(to, sizeof(struct sigaction)); 70 for (i=0 ; i< sizeof(struct sigaction) ; i++) { 71 put_fs_byte(*from,to); 72 from++; 73 to++; 74 } 75 } 76 // 把 sigaction 数据从 fs 数据段 from 位置复制到 to 处 即从用户数据空间取到内核数据段中 77 static inline void get_new(char * from,char * to) 78 { 79 int i; for (i=0 ; i< sizeof(struct sigaction) ; i++) 82 *(to++) = get_fs_byte(from++); 83 } 84 // signal() 系统调用 类似于 sigaction() 为指定的信号安装新的信号句柄( 信号处理程序 ) // 信号句柄可以是用户指定的函数, 也可以是 SIG_DFL( 默认句柄 ) 或 SIG_IGN( 忽略 ) // 参数 signum -- 指定的信号 ;handler -- 指定的句柄 ;restorer 恢复函数指针, 该函数由 // Libc 库提供 用于在信号处理程序结束后恢复系统调用返回时几个寄存器的原有值以及系统 // 调用的返回值, 就好象系统调用没有执行过信号处理程序而直接返回到用户程序一样 函数 // 返回原信号句柄 85 int sys_signal(int signum, long handler, long restorer) 86 { 87 struct sigaction tmp; 88 // 首先验证信号值在有效范围 (1--32) 内, 并且不得是信号 SIGKILL( 和 SIGSTOP) 因为这 // 两个信号不能被进程捕获 89 if (signum<1 signum>32 signum==sigkill signum==sigstop) 90 return -EINVAL; // 然后根据提供的参数组建 sigaction 结构内容 sa_handler 是指定的信号处理句柄 ( 函数 ) // sa_mask 是执行信号处理句柄时的信号屏蔽码 sa_flags 是执行时的一些标志组合 这里设定 // 该信号处理句柄只使用 1 次后就恢复到默认值, 并允许信号在自己的处理句柄中收到 91 tmp.sa_handler = (void (*)(int)) handler; 92 tmp.sa_mask = 0; 93 tmp.sa_flags = SA_ONESHOT SA_NOMASK; 94 tmp.sa_restorer = (void (*)(void)) restorer; // 保存恢复处理函数指针 // 接着取该信号原来的处理句柄, 并设置该信号的 sigaction 结构 最后返回原信号句柄 95 handler = (long) current->sigaction[signum-1].sa_handler; 96 current->sigaction[signum-1] = tmp; 97 return handler; 98 } 99 // sigaction() 系统调用 改变进程在收到一个信号时的操作 signum 是除了 SIGKILL 以外的 // 任何信号 [ 如果新操作 (action) 不为空 ] 则新操作被安装 如果 oldaction 指针不为空, // 则原操作被保留到 oldaction 成功则返回 0, 否则为 -EINVAL 100 int sys_sigaction(int signum, const struct sigaction * action, 101 struct sigaction * oldaction) 102 { 103 struct sigaction tmp; 104 // 首先验证信号值在有效范围 (1--32) 内, 并且不得是信号 SIGKILL( 和 SIGSTOP) 因为这

4 // 两个信号不能被进程捕获 105 if (signum<1 signum>32 signum==sigkill signum==sigstop) 106 return -EINVAL; // 在信号的 sigaction 结构中设置新的操作 ( 动作 ) 如果 oldaction 指针不为空的话, 则将 // 原操作指针保存到 oldaction 所指的位置 107 tmp = current->sigaction[signum-1]; 108 get_new((char *) action, 109 (char *) (signum-1+current->sigaction)); 110 if (oldaction) 111 save_old((char *) &tmp,(char *) oldaction); // 如果允许信号在自己的信号句柄中收到, 则令屏蔽码为 0, 否则设置屏蔽本信号 112 if (current->sigaction[signum-1].sa_flags & SA_NOMASK) 113 current->sigaction[signum-1].sa_mask = 0; 114 else 115 current->sigaction[signum-1].sa_mask = (1<<(signum-1)); 116 return 0; 117 } /* 120 * Routine writes a core dump image in the current directory. 121 * Currently not implemented. 122 */ /* * 在当前目录中产生 core dump 映像文件的子程序 目前还没有实现 */ 123 int core_dump(long signr) 124 { 125 return(0); /* We didn't do a dump */ 126 } 127 // 系统调用的中断处理程序中真正的信号预处理程序 ( 在 kernel/sys_call.s,119 行 ) 这段 // 代码的主要作用是将信号处理句柄插入到用户程序堆栈中, 并在本系统调用结束返回后立刻 // 执行信号句柄程序, 然后继续执行用户的程序 // 函数的参数是进入系统调用处理程序 sys_call.s 开始, 直到调用本函数 (sys_call.s // 第 125 行 ) 前逐步压入堆栈的值 这些值包括 ( 在 sys_call.s 中的代码行 ): // 1 CPU 执行中断指令压入的用户栈地址 ss 和 esp 标志寄存器 eflags 和返回地址 cs 和 eip; // 2 第 行在刚进入 system_call 时压入栈的段寄存器 ds es fs 以及寄存器 eax // (orig_eax) edx ecx 和 ebx 的值 ; // 3 第 100 行调用 sys_call_table 后压入栈中的相应系统调用处理函数的返回值 (eax) // 4 第 124 行压入栈中的当前处理的信号值 (signr) 128 int do_signal(long signr,long eax,long ebx, long ecx, long edx, long orig_eax, 129 long fs, long es, long ds, 130 long eip, long cs, long eflags, 131 unsigned long * esp, long ss) 132 { 133 unsigned long sa_handler; 134 long old_eip=eip; 135 struct sigaction * sa = current->sigaction + signr - 1; 136 int longs; // 即 current->sigaction[signr-1] unsigned long * tmp_esp; 139 // 以下是调试语句 当定义了 notdef 时会打印相关信息

5 140 #ifdef notdef 141 printk("pid: %d, signr: %x, eax=%d, oeax = %d, int=%d\n", 142 current->pid, signr, eax, orig_eax, 143 sa->sa_flags & SA_INTERRUPT); 144 #endif // 如果不是系统调用而是其它中断执行过程中调用到本函数时, roig_eax 值为 -1 参见 // sys_call.s 第 144 行等语句 因此当 orig_eax 不等于 -1 时, 说明是在某个系统调用的 // 最后调用了本函数 在 kernel/exit.c 的 waitpid() 函数中, 如果收到了 SIGCHLD 信号, // 或者在读管道函数 fs/pipe.c 中管道当前读数据但没有读到任何数据等情况下, 进程收到 // 了任何一个非阻塞的信号, 则都会以 -ERESTARTSYS 返回值返回 它表示进程可以被中断, // 但是在继续执行后会重新启动系统调用 返回码 -ERESTARTNOINTR 说明在处理完信号后要求 // 返回到原系统调用中继续运行, 即系统调用不会被中断 参见前面第 62 行 // 因此下面语句说明如果是在系统调用中调用的本函数, 并且相应系统调用的返回码 eax 等于 // -ERESTARTSYS 或 -ERESTARTNOINTR 时进行下面的处理 ( 实际上还没有真正回到用户程序中 ) 145 if ((orig_eax!= -1) && 146 ((eax == -ERESTARTSYS) (eax == -ERESTARTNOINTR))) { // 如果系统调用返回码是 -ERESTARTSYS( 重新启动系统调用 ), 并且 sigaction 中含有标志 // SA_INTERRUPT( 系统调用被信号中断后不重新启动系统调用 ) 或者信号值小于 SIGCONT 或者 // 信号值大于 SIGTTOU( 即信号不是 SIGCONT SIGSTOP SIGTSTP SIGTTIN 或 SIGTTOU), 则 // 修改系统调用的返回值为 eax = -EINTR, 即被信号中断的系统调用 147 if ((eax == -ERESTARTSYS) && ((sa->sa_flags & SA_INTERRUPT) 148 signr < SIGCONT signr > SIGTTOU)) 149 *(&eax) = -EINTR; 150 else { // 否则就恢复进程寄存器 eax 在调用系统调用之前的值, 并且把原程序指令指针回调 2 字节 即 // 当返回用户程序时, 让程序重新启动执行被信号中断的系统调用 151 *(&eax) = orig_eax; 152 *(&eip) = old_eip -= 2; 153 } 154 } // 如果信号句柄为 SIG_IGN(1, 默认忽略句柄 ) 则不对信号进行处理而直接返回 155 sa_handler = (unsigned long) sa->sa_handler; 156 if (sa_handler==1) 157 return(1); /* Ignore, see if there are more signals... */ // 如果句柄为 SIG_DFL(0, 默认处理 ), 则根据具体的信号进行分别处理 158 if (!sa_handler) { 159 switch (signr) { // 如果信号是以下两个则也忽略之, 并返回 160 case SIGCONT: 161 case SIGCHLD: 162 return(1); /* Ignore,... */ 163 // 如果信号是以下 4 种信号之一, 则把当前进程状态置为停止状态 TASK_STOPPED 若当前进程 // 父进程对 SIGCHLD 信号的 sigaction 处理标志 SA_NOCLDSTOP ( 即当子进程停止执行或又继 // 续执行时不要产生 SIGCHLD 信号 ) 没有置位, 那么就给父进程发送 SIGCHLD 信号 164 case SIGSTOP: 165 case SIGTSTP: 166 case SIGTTIN: 167 case SIGTTOU: 168 current->state = TASK_STOPPED; 169 current->exit_code = signr; 170 if (!(current->p_pptr->sigaction[sigchld-1].sa_flags & 171 SA_NOCLDSTOP))

6 172 current->p_pptr->signal = (1<<(SIGCHLD-1)); 173 return(1); /* Reschedule another event */ 174 // 如果信号是以下 6 种信号之一, 那么若信号产生了 core dump, 则以退出码为 signr 0x80 // 调用 do_exit() 退出 否则退出码就是信号值 do_exit() 的参数是返回码和程序提供的退出 // 状态信息 可作为 wait() 或 waitpid() 函数的状态信息 参见 sys/wait.h 文件第 行 // wait() 或 waitpid() 利用这些宏就可以取得子进程的退出状态码或子进程终止的原因 ( 信号 ) 175 case SIGQUIT: 176 case SIGILL: 177 case SIGTRAP: 178 case SIGIOT: 179 case SIGFPE: 180 case SIGSEGV: 181 if (core_dump(signr)) 182 do_exit(signr 0x80); 183 /* fall through */ 184 default: 185 do_exit(signr); 186 } 187 } 188 /* 189 * OK, we're invoking a handler 190 */ /* * OK, 现在我们准备对信号句柄调用的设置 */ // 如果该信号句柄只需被调用一次, 则将该句柄置空 注意, 该信号句柄在前面已经保存在 // sa_handler 指针中 // 在系统调用进入内核时, 用户程序返回地址 (eip cs) 被保存在内核态栈中 下面这段代 // 码修改内核态堆栈上用户调用系统调用时的代码指针 eip 为指向信号处理句柄, 同时也将 // sa_restorer signr 进程屏蔽码 ( 如果 SA_NOMASK 没置位 ) eax ecx edx 作为参数以及 // 原调用系统调用的程序返回指针及标志寄存器值压入用户堆栈 因此在本次系统调用中断 // 返回用户程序时会首先执行用户的信号句柄程序, 然后再继续执行用户程序 191 if (sa->sa_flags & SA_ONESHOT) 192 sa->sa_handler = NULL; // 将内核态栈上用户调用系统调用下一条代码指令指针 eip 指向该信号处理句柄 由于 C 函数 // 是传值函数, 因此给 eip 赋值时需要使用 "*(&eip)" 的形式 另外, 如果允许信号自己的 // 处理句柄收到信号自己, 则也需要将进程的阻塞码压入堆栈 // 这里请注意, 使用如下方式 ( 第 193 行 ) 对普通 C 函数参数进行修改是不起作用的 因为当 // 函数返回时堆栈上的参数将会被调用者丢弃 这里之所以可以使用这种方式, 是因为该函数 // 是从汇编程序中被调用的, 并且在函数返回后汇编程序并没有把调用 do_signal() 时的所有 // 参数都丢弃 eip 等仍然在堆栈中 // sigaction 结构的 sa_mask 字段给出了在当前信号句柄 ( 信号描述符 ) 程序执行期间应该被 // 屏蔽的信号集 同时, 引起本信号句柄执行的信号也会被屏蔽 不过若 sa_flags 中使用了 // SA_NOMASK 标志, 那么引起本信号句柄执行的信号将不会被屏蔽掉 如果允许信号自己的处 // 理句柄程序收到信号自己, 则也需要将进程的信号阻塞码压入堆栈 193 *(&eip) = sa_handler; 194 longs = (sa->sa_flags & SA_NOMASK)?7:8; // 将原调用程序的用户堆栈指针向下扩展 7( 或 8) 个长字 ( 用来存放调用信号句柄的参数等 ), // 并检查内存使用情况 ( 例如如果内存超界则分配新页等 ) 195 *(&esp) -= longs; 196 verify_area(esp,longs*4); // 在用户堆栈中从下到上存放 sa_restorer 信号 signr 屏蔽码 blocked( 如果 SA_NOMASK

7 // 置位 ) eax ecx edx eflags 和用户程序原代码指针 197 tmp_esp=esp; 198 put_fs_long((long) sa->sa_restorer,tmp_esp++); 199 put_fs_long(signr,tmp_esp++); 200 if (!(sa->sa_flags & SA_NOMASK)) 201 put_fs_long(current->blocked,tmp_esp++); 202 put_fs_long(eax,tmp_esp++); 203 put_fs_long(ecx,tmp_esp++); 204 put_fs_long(edx,tmp_esp++); 205 put_fs_long(eflags,tmp_esp++); 206 put_fs_long(old_eip,tmp_esp++); 207 current->blocked = sa->sa_mask; // 进程阻塞码 ( 屏蔽码 ) 添上 sa_mask 中的码位 208 return(0); /* Continue, execute handler */ 209 } 210

ebook15-10

ebook15-10 1 0 10.1 U N I X V 7 4. 3 B S D S V R 3 P O S I X. 1 100 % 10.2 S I G S I G A B RT a b o r t S I G A L R M a l a r m V 7 1 5 S V R 4 4. 3 + B S D 31 < s i g n a l. h > 0 10. 9 k i l l 0 P O S I X. 1 D

More information

36 asm ("mov %%fs,%%ax":"=a" ( res):); \ 37 res;}) 38 // 以下定义了一些函数原型 39 void page_exception(void); // 页异常 实际是 page_fault(mm/page.s,14) void divi

36 asm (mov %%fs,%%ax:=a ( res):); \ 37 res;}) 38 // 以下定义了一些函数原型 39 void page_exception(void); // 页异常 实际是 page_fault(mm/page.s,14) void divi 程序 8-2 linux/kernel/traps.c 1 /* 2 * linux/kernel/traps.c 3 * 4 * (C) 1991 Linus Torvalds 5 */ 6 7 /* 8 * 'Traps.c' handles hardware traps and faults after we have saved some 9 * state in 'asm.s'. Currently

More information

第6章 信号量,中断和时间

第6章  信号量,中断和时间 6 6 Signal IPC POSIX Unix IPC Ctrl+C 9 IPC Linux Interrupt 5 Linux Linux CPU Linux Linux include/asm-i386/spinlock.h 12582 #ifdef UP SMP UP SMP 10 SMP Linux Nonrealtime SIGSEGVSIGHUP - - 52 6 SIGKILL realtime

More information

程序 linux/include/linux/math_emu.h 1 /* 2 * linux/include/linux/math_emu.h 3 * 4 * (C) 1991 Linus Torvalds 5 */ 6 #ifndef _LINUX_MATH_EMU_H 7 #de

程序 linux/include/linux/math_emu.h 1 /* 2 * linux/include/linux/math_emu.h 3 * 4 * (C) 1991 Linus Torvalds 5 */ 6 #ifndef _LINUX_MATH_EMU_H 7 #de 程序 14-24 linux/include/linux/math_emu.h 1 /* 2 * linux/include/linux/math_emu.h 3 * 4 * (C) 1991 Linus Torvalds 5 */ 6 #ifndef _LINUX_MATH_EMU_H 7 #define _LINUX_MATH_EMU_H 8 9 #include

More information

1 CPU interrupt INT trap CPU exception

1 CPU interrupt INT trap CPU exception 1 CPU interrupt INT trap CPU exception 2 X86 CPU gate 64 16 1 2 5 8 16 16 P DPL 00101 TSS 101 DPL P 1 64 16 1 2 1 1 3 3 5 16 16 16 P DPL 0 D 000 16 110 111 100 D 1=32 0=16 DPL P 1 INT DPL1>=CPL>=DPL CPU

More information

IntelBook_cn.doc

IntelBook_cn.doc 3.3.3 信号 (Signal) 处理 信号 (signal) 是向进程发送的软件通知, 通知进程有事件发生 引发信号的事件发生时, 信号就被生成 (generate) 了 进程根据信号采取行动时, 信号就被传递 (deliver) 了 信号的寿命 (lifetime) 就是信号的生成和传递之间的时间间隔 已经生成但还未被传递的信号被称为挂起 (pending) 的信号 在信号生成和信号传递之间可能会有相当长的时间

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

36 p->p_osptr->p_ysptr = p->p_ysptr; 37 if (p->p_ysptr) 38 p->p_ysptr->p_osptr = p->p_osptr; 39 else 40 p->p_pptr->p_cptr = p->p_osptr; 41 free_page((

36 p->p_osptr->p_ysptr = p->p_ysptr; 37 if (p->p_ysptr) 38 p->p_ysptr->p_osptr = p->p_osptr; 39 else 40 p->p_pptr->p_cptr = p->p_osptr; 41 free_page(( 程序 8-7 linux/kernel/exit.c 1 2 * linux/kernel/exit.c 3 * 4 * (C) 1991 Linus Torvalds 5 6 7 #define DEBUG_PROC_TREE // 定义符号 调试进程树 8 9 #include // 错误号头文件 包含系统中各种出错号 (Linus 从 minix 中引进的 ) 10 #include

More information

Linux kernel exploit研究和探索

Linux kernel exploit研究和探索 Linux kernel exploit DOC alert7 PPT e4gle 2002-12-2 1 2002-12-2 2 Linux kernel exploit kernel exploit exploit exploit exploit (Kernel Buffer Overflow) (Kernel

More information

linux进程间通信

linux进程间通信 linux 进程间通信 1. 进程间通信概述 2. 管道通信 3. 信号 4. 共享内存 5. 消息队列 1 进程间通信概述 进程间通信有如下一些目的 : 数据传输 : 一个进程需要将它的数据发送给另一个进程, 发送的数据量在一个字节到几兆字节之间 共享数据 : 多个进程想要操作共享数据, 一个进程对共享数据的修改, 别的进程应该立刻看到 通知事件 : 一个进程需要向另一个或一组进程发送消息, 通知它

More information

新・明解C言語入門編『索引』

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

多进程管理副本.key

多进程管理副本.key 美妙的多进程管理 造 个类 gunicorn 的轮 blog: xiaorui.cc github: github.com/rfyiamcool 内容 supervisor vs gunicorn vs uwsgi linux 异步信号 孤 进程 vs 僵 进程 daemon 的实现 prefork 是怎么 回事 打造 个较完善的多进程管理轮 怎么写代码 Master Worker elegance

More information

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; Memory & Pointer trio@seu.edu.cn 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

A Preliminary Implementation of Linux Kernel Virus and Process Hiding 邵 俊 儒 翁 健 吉 妍 年 月 日 学 号 学 号 学 号 摘 要 结 合 课 堂 知 识 我 们 设 计 了 一 个 内 核 病 毒 该 病 毒 同 时 具 有 木 马 的 自 动 性 的 隐 蔽 性 和 蠕 虫 的 感 染 能 力 该 病 毒 获 得 权 限 后 会 自 动 将 自 身 加 入 内 核 模 块 中 劫 持 的 系 统 调 用 并 通 过 简 单 的 方 法 实 现 自 身 的

More information

How to Debug Tuxedo Server printf( Input data is: %s, inputstr); fprintf(stdout, Input data is %s, inputstr); fprintf(stderr, Input data is %s, inputstr); printf( Return data is: %s, outputstr); tpreturn(tpsuccess,

More information

_汪_文前新ok[3.1].doc

_汪_文前新ok[3.1].doc 普 通 高 校 本 科 计 算 机 专 业 特 色 教 材 精 选 四 川 大 学 计 算 机 学 院 国 家 示 范 性 软 件 学 院 精 品 课 程 基 金 青 年 基 金 资 助 项 目 C 语 言 程 序 设 计 (C99 版 ) 陈 良 银 游 洪 跃 李 旭 伟 主 编 李 志 蜀 唐 宁 九 李 涛 主 审 清 华 大 学 出 版 社 北 京 i 内 容 简 介 本 教 材 面 向

More information

幻灯片 1

幻灯片 1 操作系统课程实验 Lab1:bootloader 启动 ucore os 大纲 x86 启动顺序 C 函数调用 gcc 内联汇编 (inline assembly) x86-32 下的中断处理 理解 x86-32 平台的启动过程理解 x86-32 的实模式 保护模式理解段机制 x86 启动顺序 x86 启动顺序 寄存器初始值 摘自 "IA-32 Intel 体系结构软件开发者手册 " x86 启动顺序

More information

untitled

untitled 1 5 IBM Intel 1. IBM 第 1/175 页 第 2/175 页 第 3/175 页 80 第 4/175 页 2. IBM 第 5/175 页 3. (1) 第 6/175 页 第 7/175 页 第 8/175 页 = = 第 9/175 页 = = = = = 第 10/175 页 = = = = = = = = 3. (2) 第 11/175 页 第 12/175 页 第 13/175

More information

Andes Technology PPT Temp

Andes Technology PPT Temp 晶心科技線上技術研討會 AndesCore 便捷的全 C 嵌入式编程 晶心科技市場及技術服務部毛礼杰軟件經理 WWW.ANDESTECH.COM 大纲 系统初始化介绍 异常和中断说明 全 C 语法例子说明 总结 2 CPU 相关特性 1: 中断向量表 系统初始化 (1) 2: 系统寄存器 通常需要用 assembly( 汇编 / 组合 ) 语言来操作 AndesCore 全 C 嵌入式编程 C 扩展语法

More information

06721 main() lock pick proc() restart() [2][4] MINIX minix2.0 GDT, IDT irq table[] CPU CPU CPU CPU (IDTR) idt[] CPU _hwint00:! Interrupt

06721 main() lock pick proc() restart() [2][4] MINIX minix2.0 GDT, IDT irq table[] CPU CPU CPU CPU (IDTR) idt[] CPU _hwint00:! Interrupt MINIX ( 730000) ( 730000) MINIX MINIX2.0 MINIX : MINIX TP3 1 MINIX UNIX Tanenbaum UNIX MINIX LINUX MINIX MINIX MINIX1.0 UNIX V7 MINIX2.0[3] POSIX MINIX3 MINIX Gabriel A. Wainer 1994-1995 [5] 1998 I/O 2002

More information

Microsoft PowerPoint - os_4.ppt

Microsoft PowerPoint - os_4.ppt 行 程 資 科 系 林 偉 川 行 程 概 念 行 程 與 程 式 主 要 的 不 同 點 : 程 式 是 被 放 在 外 部 的 儲 存 裝 置 如 磁 碟 上, 而 行 程 則 被 放 在 記 憶 體 中 程 式 在 儲 存 裝 置 中 是 靜 態 的, 而 行 程 在 記 憶 體 中 是 動 態 的, 它 會 隨 著 一 些 事 件 的 發 生 而 產 生 相 對 的 改 變 行 程, 就 是

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

untitled

untitled 3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(

More information

Kernel Kernel Kernel Kernel load estimator runqueue kernel/sched.

Kernel Kernel Kernel Kernel load estimator runqueue kernel/sched. Linux Kernel 2.6 20321131 Kernel 2.4...3 Kernel 2.4...3 Kernel 2.4...3 Kernel 2.6...3...3 1....3 2....4 3. load estimator...4 4....4 5....4...4 1....4 2. runqueue kernel/sched.c...4 3. task_struct(include/linux/sched.h)...6...9

More information

ebook

ebook 3 3 3.1 3.1.1 ( ) 90 3 1966 B e r n s t e i n P ( i ) R ( i ) W ( i P ( i P ( j ) 1) R( i) W( j)=φ 2) W( i) R( j)=φ 3) W( i) W( j)=φ 3.1.2 ( p r o c e s s ) 91 Wi n d o w s Process Control Bl o c k P C

More information

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc

More information

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, / 11

提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, / 11 .. 软件综合实验之操作系统 进入保护模式 陈香兰 中国科学技术大学计算机学院 July 1, 2016 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, 2016 1 / 11 提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, 2016 2 / 11 实验准备 实验环境准备

More information

2004 7 20 2004 7 20 2004 7 20 2004 7 20 500 2004 7 20 2004 7 20 1993 2004 7 23, ? CS 2004 7 23 : ! 7 20 , 6, ? OK ? ; ; ; ; 1991 16 1949 65

More information

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def Kaise s 2410 Board setting [1]. Device Driver Device Driver Linux s Kernel ARM s kernel s3c2410_kernel2.4.18_r1.1_change.tar.bz2 /usr/src (1) #cd /usr/src (2) #tar xfj s3c2410_kernel2.4.18_r1.1_change.tar.bz2

More information

月光迴旋曲

月光迴旋曲 臺 北 人, 淡 江 大 學 中 文 所 畢 曾 任 電 腦 雜 誌 採 編 電 視 臺 執 行 製 作 高 職 專 任 導 師, 曾 獲 耕 莘 四 十 週 年 臺 灣 之 顏 文 學 獎 2007 全 國 臺 灣 文 學 營 創 作 獎 第 二 十 四 屆 聯 合 文 學 小 說 新 人 獎 第 九 屆 暨 第 十 二 屆 臺 北 文 學 獎 九 十 九 年 教 育 部 文 藝 創 作 獎 第

More information

《C语言程序设计》第2版教材习题参考答案

《C语言程序设计》第2版教材习题参考答案 教材 C 语言程序设计 ( 第 2 版 ) 清华大学出版社, 黄保和, 江弋编著 2011 年 10 月第二版 ISBN:978-7-302-26972-4 售价 :35 元 答案版本 本习题答案为 2012 年 2 月修订版本 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p = &a A. *p = *a B. p = *a C.p = &a D. *p =

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

More information

没有幻灯片标题

没有幻灯片标题 指针作为函数参数 : 原因 : 1 需要修改一个或多个值,( 用 return 语句不能解决问题 ) 2 执行效率的角度 使用方法 : 在函数原型以及函数首部中需要声明能够接受指针值的形参, 具体的写法为 : 数据类型 * 形参名 如果有多个指针型形参, 则用逗号分隔, 例如 : void swap(int *p1, int *p2) 它说明了形参 p1 p2 是指向整型变量的指针 在函数调用时,

More information

上 述 的 描 述 是 在 一 台 计 算 机 上 只 有 一 颗 CPU, 并 且 该 CPU 只 有 一 个 核 心 的 情 形, 在 这 种 环 境 下, 虽 然 系 统 可 以 运 行 多 个 任 务, 但 是 在 某 一 个 时 间 点,CPU 只 能 执 行 一 个 进 程 但 是 如

上 述 的 描 述 是 在 一 台 计 算 机 上 只 有 一 颗 CPU, 并 且 该 CPU 只 有 一 个 核 心 的 情 形, 在 这 种 环 境 下, 虽 然 系 统 可 以 运 行 多 个 任 务, 但 是 在 某 一 个 时 间 点,CPU 只 能 执 行 一 个 进 程 但 是 如 Linux 操 作 系 统 第 五 讲 : 进 程 管 理 学 时 计 划 :4 学 时 理 论,0 学 时 实 验 ( 无 实 验 教 学 内 容 ) 教 学 大 纲 : 1 进 程 2 进 程 的 监 控 3 进 程 管 理 4 /PROC 文 件 系 统 5 讨 论 与 思 考 Linux 的 进 程 管 理 与 UNIX 操 作 系 统 有 着 很 多 共 同 点, 但 也 有 一 些 独

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc 2 5 8 11 0 1. 13 2. 15 3. 18 1 1. 22 2. 25 3. 27 2 1. 35 2. 38 3. 41 4. 43 5. 48 6. 50 3 1. 56 2. 59 3. 63 4. 65 5. 69 13 22 35 56 6. 74 7. 82 8. 84 9. 87 10. 97 11. 102 12. 107 13. 111 4 114 1. 114 2.

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b 06 01 action JavaScript action jquery jquery AJAX 04 4-1 CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS background-color camel-cased DOM backgroundcolor.css()

More information

目 錄 壹 青 輔 會 結 案 附 件 貳 活 動 計 劃 書 參 執 行 內 容 一 教 學 內 容 二 與 當 地 教 師 教 學 交 流 三 服 務 執 行 進 度 肆 執 行 成 效 一 教 學 課 程 二 與 當 地 教 師 教 學 交 流 三 服 務 滿 意 度 調 查 伍 服 務 檢

目 錄 壹 青 輔 會 結 案 附 件 貳 活 動 計 劃 書 參 執 行 內 容 一 教 學 內 容 二 與 當 地 教 師 教 學 交 流 三 服 務 執 行 進 度 肆 執 行 成 效 一 教 學 課 程 二 與 當 地 教 師 教 學 交 流 三 服 務 滿 意 度 調 查 伍 服 務 檢 2 0 1 0 年 靜 宜 青 年 國 際 志 工 泰 北 服 務 成 果 報 告 指 導 單 位 : 行 政 院 青 年 輔 導 委 員 會 僑 務 委 員 會 主 辦 單 位 : 靜 宜 大 學 服 務 學 習 發 展 中 心 協 力 單 位 : 靜 宜 大 學 師 資 培 育 中 心 財 團 法 人 台 灣 明 愛 文 教 基 金 會 中 華 民 國 九 十 九 年 九 月 二 十 四 日 目

More information

Microsoft PowerPoint - 3. 函数Functionl.ppt [兼容模式]

Microsoft PowerPoint - 3. 函数Functionl.ppt [兼容模式] 函数 Function 如何重用代码 How to reuse code 3 4 = 3*3*3*3 3 4,6 5 : 拷贝 - 粘帖代码 (Copy-paste code) 3 4,6 5,12 10 : 拷贝 - 粘帖代码 (Copy-paste code) Bad! 使用函数 (with a function) 使用函数 (with a function) 使用函数 (with a function)

More information

C语言的应用.PDF

C语言的应用.PDF AVR C 9 1 AVR C IAR C, *.HEX, C,,! C, > 9.1 AVR C MCU,, AVR?! IAR AVR / IAR 32 ALU 1KBytes - 8MBytes (SPM ) 16 MBytes C C *var1, *var2; *var1++ = *--var2; AVR C 9 2 LD R16,-X ST Z+,R16 Auto (local

More information

12-179410-02_12-17.QXD

12-179410-02_12-17.QXD 專 題 報 導 美 齒 與 科 技 根 管 治 療 的 最 新 發 展 一 旦 牙 髓 受 細 菌 感 染 隃 這 顆 牙 齒 即 將 不 保 隃 為 了 保 存 原 有 牙 齒 的 功 能 隃 根 管 治 療 是 修 復 這 顆 牙 齒 的 基 礎 工 程 時 到 如 今 隃 在 根 管 治 療 的 技 術 與 器 械 上 有 哪 些 新 的 發 展? 沈 領 昌 牙 齒 是 人 類 非 常 重

More information

ROP_bamboofox.key

ROP_bamboofox.key ROP Return Oriented Programming Lays @ BambooFox Who Am I Lays / L4ys / 累死 - l4ys.tw Reverse Engineering BambooFox / HITCON Outline Buffer Overflow ret2libc / ret2text Return Oriented Programming Payload

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

穨control.PDF

穨control.PDF TCP congestion control yhmiu Outline Congestion control algorithms Purpose of RFC2581 Purpose of RFC2582 TCP SS-DR 1998 TCP Extensions RFC1072 1988 SACK RFC2018 1996 FACK 1996 Rate-Halving 1997 OldTahoe

More information

<4D F736F F D20B5DAC1F9D5C22ECFB5CDB3B5F7B6C8A3AC495043BACDD2B3C3E6CAA7D0A7BFD8D6C62E646F63>

<4D F736F F D20B5DAC1F9D5C22ECFB5CDB3B5F7B6C8A3AC495043BACDD2B3C3E6CAA7D0A7BFD8D6C62E646F63> 第六章. 系统调度,IPC 和页面失效控制 (lab4)(v0.1) 6.1. 实验目标 MIT 这次实验是在 Lab3 进程和中断管理的基础上实现, 目标是在他们的 JOS 操作系统中实现多进程管理和进程间消息通信的功能 在实验三中, 我们知道进程是一个执行中的程序实例 利用分时技术, 操作系统上同时可以运行多个进程 分时技术的基本原理是把 CPU 的运行时间划分成一个个规定长度的时间片 ( 实验中一个时间片为

More information

提问袁小兵:

提问袁小兵: C++ 面 试 试 题 汇 总 柯 贤 富 管 理 软 件 需 求 分 析 篇 1. STL 类 模 板 标 准 库 中 容 器 和 算 法 这 部 分 一 般 称 为 标 准 模 板 库 2. 为 什 么 定 义 虚 的 析 构 函 数? 避 免 内 存 问 题, 当 你 可 能 通 过 基 类 指 针 删 除 派 生 类 对 象 时 必 须 保 证 基 类 析 构 函 数 为 虚 函 数 3.

More information

謙卑的小巨人 文 / 林士涵 印製見證文集是父親在生病後就有的想法 目的是希望更多親朋好友能透 過這些見證認識主耶穌 一起享受屬耶穌那好得無比的生命 我的父親林進聰 民國 42 年 9 月 18 日生於台中縣大肚 鄉 退伍後輾轉來到工業技術研究院化工所上班 認識了他生 命中兩個最愛 信仰耶穌基督以及

謙卑的小巨人 文 / 林士涵 印製見證文集是父親在生病後就有的想法 目的是希望更多親朋好友能透 過這些見證認識主耶穌 一起享受屬耶穌那好得無比的生命 我的父親林進聰 民國 42 年 9 月 18 日生於台中縣大肚 鄉 退伍後輾轉來到工業技術研究院化工所上班 認識了他生 命中兩個最愛 信仰耶穌基督以及 好得無比 林進聰弟兄追思見證集 生於主後 1953. 9. 18 2012. 6. 18 安息主懷 謙卑的小巨人 文 / 林士涵 印製見證文集是父親在生病後就有的想法 目的是希望更多親朋好友能透 過這些見證認識主耶穌 一起享受屬耶穌那好得無比的生命 我的父親林進聰 民國 42 年 9 月 18 日生於台中縣大肚 鄉 退伍後輾轉來到工業技術研究院化工所上班 認識了他生 命中兩個最愛 信仰耶穌基督以及我的母親

More information

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持 第 一 篇 知 己 知 彼, 百 战 不 殆 基 本 评 估 篇 第 一 章 认 识 自 我 我 就 是 一 座 金 矿 人 啊, 认 识 你 自 己! 塔 列 斯 ( 希 腊 学 者 ) 要 想 知 道 去 哪 儿, 必 须 先 知 道 你 现 在 在 哪 儿 和 你 是 谁 茜 里 娅. 德 纽 斯 ( 美 国 职 业 指 导 学 家 ) 本 章 提 要 了 解 认 识 自 我 在 职 业 生

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民 1 08414159 惠 鴻 眼 鏡 行 桃 園 市 中 壢 區 福 德 里 中 華 路 一 段 186 號 1 樓 30,000 獨 資 宋 耀 鴻 105/04/27 府 經 登 字 第 1059003866 號 2 17891110 承 元 冷 氣 空 調 工 程 行 桃 園 市 桃 園 區 中 德 里 國 際 路 1 段 98 巷 50 號 2 樓 之 4 200,000 獨 資 詹 安 平

More information

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf (%d, & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf (%d %d 2013 18 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp, Compilation Error cin scanf Time Limit Exceeded 1: A 5 B 5 C 5 D 5 E 5 F 5 1 2013 C 1 # include 2 int main ( void ) 3 { 4 int cases, a, b,

More information

Lorem ipsum dolor sit amet, consectetuer adipiscing elit

Lorem ipsum dolor sit amet, consectetuer adipiscing elit English for Study in Australia 留 学 澳 洲 英 语 讲 座 Lesson 3: Make yourself at home 第 三 课 : 宾 至 如 归 L1 Male: 各 位 朋 友 好, 欢 迎 您 收 听 留 学 澳 洲 英 语 讲 座 节 目, 我 是 澳 大 利 亚 澳 洲 广 播 电 台 的 节 目 主 持 人 陈 昊 L1 Female: 各 位

More information

1

1 1 2 3 4 5 GNUDebugger 6 7 void main(int argc, char **argv){ vulncpy(argv[1]); return; } void vulncpy(char *a){ char buf[30]; strcpy(buf, a); return; } *argv[1] buf Shellcode *argv[1]... &buf &buf 8 strcpy

More information

Outline 1 中断信号的作用和处理的一般原则 2 I/O 设备如何引起 CPU 中断 3 x86 CPU 如何在硬件级处理中断信号中断和异常的硬件处理 : 进入中断 / 异常中断和异常的硬件处理 : 从中断 / 异常返回 4 Linux 内核中软件级中断处理及其数据结构初始化中断描述符表低级异

Outline 1 中断信号的作用和处理的一般原则 2 I/O 设备如何引起 CPU 中断 3 x86 CPU 如何在硬件级处理中断信号中断和异常的硬件处理 : 进入中断 / 异常中断和异常的硬件处理 : 从中断 / 异常返回 4 Linux 内核中软件级中断处理及其数据结构初始化中断描述符表低级异 Linux 操作系统分析 Chapter 5 中断和异常 陈香兰 (xlanchen@ustceducn) 计算机应用教研室 @ 计算机学院嵌入式系统实验室 @ 苏州研究院中国科学技术大学 Fall 2014 October 21, 2014 陈香兰 (xlanchen@ustceducn) ( 计算机应用教研室 Linux 操作系统分析 @ 计算机学院嵌入式系统实验室 Chapter 5 中断和异常

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023) ( CIP) /. :, 2005. 2 ( ) ISBN 7-5624-3339-9.......... TP311. 1 CIP ( 2005) 011794 : : : : * : : 174 ( A ) :400030 : ( 023) 65102378 65105781 : ( 023) 65103686 65105565 : http: / /www. cqup. com. cn : fxk@cqup.

More information

我为什么会扎根泰达?

我为什么会扎根泰达? 我 为 什 么 会 扎 根 泰 达? 一 晃 已 经 在 泰 达 工 作 生 活 六 年 了, 今 年 又 恰 逢 开 发 区 建 区 30 年 记 得 刚 来 开 发 区 工 作 时, 一 位 同 事 和 我 讲, 你 们 还 是 年 轻 人, 我 都 来 六 年 了, 也 算 老 开 发 了 今 年, 也 是 我 在 开 发 区 的 第 六 个 年 头 了, 作 为 一 个 年 轻 的 老 开

More information

今天 2011年春季号 总 92 期

今天   2011年春季号 总 92 期 今 天 2011 年 春 季 号 总 92 期 目 录 业 余 诗 人 专 辑 这 些 业 余 诗 人 赵 野 海 波 的 诗 ( 七 首 ) 凄 凉 犯 简 史 海 波 吉 木 狼 格 的 诗 ( 六 首 ) 我 的 诗 歌 吉 木 朗 格 李 亚 伟 的 诗 ( 十 三 首 ) 口 语 和 八 十 年 代 李 亚 伟 默 默 的 诗 ( 十 三 首 ) 我 们 就 是 海 市 蜃 楼 一 个 人

More information

*

* (1982.2 1987.12) 1982 2 20 6 23 6 4 7 14 20 7 28 [1982]148 670 20 9 10 12 10037 1581 126 ( 1 ) 1983 1 17 2 4 2 25 83 20 3 21 4 70 9 11 4 3 11 21 [1983]127 12 1984 8 4 20 3 5 5 7 12 29 12 1985 1 14 1 4

More information

(2000 7 24 ) / / / / / / /

(2000 7 24 ) / / / / / / / (2000 7 24 ) / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 19 (2000 7 24 ) (2000 7 24 ) ! 250 348 ! ! 0 1 (2000 7 25 ) 1952 1959 1926-1927 1988

More information

(Microsoft Word - 8\244T\244\362\277\337\272]\244W\265L\246W.doc)

(Microsoft Word - 8\244T\244\362\277\337\272]\244W\265L\246W.doc) 赤 川 次 郎 作 品 集 8 三 毛 貓 榜 上 無 名 1 偶 然, 是 件 有 趣 的 事 溫 水 小 百 合 知 道 之 後, 心 情 輕 鬆 了 不 少 光 是 這 個, 看 官 大 概 不 明 白 是 怎 麼 一 回 事 吧 若 要 理 解 小 百 合 的 感 受, 就 必 須 由 火 車 緩 緩 開 動, 從 車 窗 看 不 見 在 月 台 揮 手 的 母 親 時, 小 百 合 陷 入

More information

Microsoft Word - 專家本色941202.doc

Microsoft Word - 專家本色941202.doc 專 家 本 色 : 名 師 教 學 實 錄 與 專 訪 前 言 本 次 所 拜 訪 的 學 校 是 位 於 彰 化 的 北 斗 家 商, 我 們 帶 著 既 緊 張 又 興 奮 的 心 情, 準 備 好 類 影 機 數 位 相 機 與 錄 音 筆, 希 望 能 將 訪 談 的 內 容 做 很 完 整 的 介 紹, 把 馮 老 師 的 教 學 精 華 全 部 呈 現 而 馮 傳 蓉 老 師 的 教 學

More information

但, 你 应 该 听 过 我 们 走 在 大 路 上 这 首 歌, 或 许 还 知 道 革 命 人 永 远 是 年 轻 那 支 歌 ; 并 且, 几 乎 可 以 肯 定, 你 在 戴 红 领 巾 的 那 阵, 必 然 唱 过 牛 儿 还 在 山 坡 吃 草, 放 牛 的 却 不 知 道 哪 儿 去

但, 你 应 该 听 过 我 们 走 在 大 路 上 这 首 歌, 或 许 还 知 道 革 命 人 永 远 是 年 轻 那 支 歌 ; 并 且, 几 乎 可 以 肯 定, 你 在 戴 红 领 巾 的 那 阵, 必 然 唱 过 牛 儿 还 在 山 坡 吃 草, 放 牛 的 却 不 知 道 哪 儿 去 爹 亲 娘 亲 不 如 毛 主 席 亲 作 者 下 场 有 多 惨 http://www.aboluowang.com/2015/0821/601184.html 2015-08-19 22:01:59 李 劫 夫 是 中 国 近 现 代 著 名 作 曲 家, 他 曾 创 作 了 大 量 的 毛 泽 东 诗 词 歌 曲 和 毛 泽 东 语 录 歌 曲, 最 为 著 名 的 就 是 曾 风 行 一 时

More information

2 临 终 助 念 答 问 序 临 终 关 怀, 由 佛 门 净 宗 古 来 祖 师 大 德 提 倡 助 念 往 生, 现 今 已 渐 为 社 会 大 众 所 重 视, 在 台 湾, 台 大 长 庚 等 各 大 医 院, 也 都 设 有 助 念 室 ; 大 陆 上 许 多 道 场, 也 有 专 为

2 临 终 助 念 答 问 序 临 终 关 怀, 由 佛 门 净 宗 古 来 祖 师 大 德 提 倡 助 念 往 生, 现 今 已 渐 为 社 会 大 众 所 重 视, 在 台 湾, 台 大 长 庚 等 各 大 医 院, 也 都 设 有 助 念 室 ; 大 陆 上 许 多 道 场, 也 有 专 为 华 净 藏 空 净 法 宗 师 学 主 会 讲 讲 记 组 整 理 临 终 助 念 答 问 2 临 终 助 念 答 问 序 临 终 关 怀, 由 佛 门 净 宗 古 来 祖 师 大 德 提 倡 助 念 往 生, 现 今 已 渐 为 社 会 大 众 所 重 视, 在 台 湾, 台 大 长 庚 等 各 大 医 院, 也 都 设 有 助 念 室 ; 大 陆 上 许 多 道 场, 也 有 专 为 临 命 终

More information

Microsoft Word - 澎湖田調報告-宏達組9804.doc

Microsoft Word - 澎湖田調報告-宏達組9804.doc 越 南 漢 文 學 與 民 俗 文 化 期 中 報 告 書 澎 湖 縣 山 水 社 區 越 南 新 住 民 妊 娠 醫 療 照 護 田 野 調 查 田 野 調 查 日 期 : 三 月 二 十 一 日 ( 六 ) 至 三 月 二 十 三 日 ( 日 ) 指 導 教 授 陳 益 源 老 師 成 員 古 佳 峻 戴 榮 冠 林 宏 達 阮 氏 清 水 澎 湖 縣 山 水 社 區 越 南 新 住 民 妊 娠

More information

<4D6963726F736F667420506F776572506F696E74202D20313032313230355FA8BEA861B8EAB7BDBEE3A658BB50C0B3A5CE28B773A6CBA5AB29>

<4D6963726F736F667420506F776572506F696E74202D20313032313230355FA8BEA861B8EAB7BDBEE3A658BB50C0B3A5CE28B773A6CBA5AB29> 編 修 校 園 災 害 防 救 計 畫 家 庭 防 災 卡 47/92 校 況 與 災 害 分 析 演 練 組 別 指 揮 官 搶 救 組 通 報 組 避 難 引 導 組 安 全 防 護 組 緊 急 救 護 組 準 備 器 材 安 全 帽 對 講 機 大 聲 公 收 音 機 手 電 筒 安 全 帽 對 講 機 消 防 器 材 圓 鍬 十 子 鎬 繩 子 哨 子 手 電 筒 安 全 帽 對 講 機 師

More information

,,,,,,,,,,,,,,,,,,,,, 1 ,,,,,,,,, : :,,,,,,,,,,, :?, :?!,,,!,, :!!,,,,,,,,,,,, : 2 ,,,,,,,,, ;,,,,,,,,,,,,,,,,,,,,,,,,,,,,?,,,,, :? :,? :? 3 ?,,, :,!, :,! : ( ),, :,?,,,,,,,,,,,,,,, 4 ,,,,, :!,,, :,! :

More information

之 原 則 及 國 防 部 訂 頒 國 軍 列 管 國 有 不 動 產 提 供 非 軍 方 單 位 使 用 處 理 原 則 規 定 不 符, 仍 應 以 出 租 方 式 辦 理 惟 可 就 偏 遠 地 區 提 供 官 兵 金 融 水 電 服 務 使 用 部 分, 研 議 降 低 租 金 標 準, 報

之 原 則 及 國 防 部 訂 頒 國 軍 列 管 國 有 不 動 產 提 供 非 軍 方 單 位 使 用 處 理 原 則 規 定 不 符, 仍 應 以 出 租 方 式 辦 理 惟 可 就 偏 遠 地 區 提 供 官 兵 金 融 水 電 服 務 使 用 部 分, 研 議 降 低 租 金 標 準, 報 五 主 席 致 詞 :( 略 ) 六 座 談 內 容 :( 略 ) 七 實 地 訪 查 結 果 詳 如 附 件 訪 查 紀 錄 表 八 結 論 : ( 一 ) 實 地 訪 查 紀 錄 表 內 之 建 議 處 理 方 式, 請 國 防 部 配 合 辦 理 ( 二 ) 國 防 部 96 年 度 計 畫 釋 出 之 土 地, 請 准 就 地 上 建 物 併 同 變 更 為 非 公 用 財 產 或 報 廢

More information

chineseall

chineseall 太 阳 照 在 天 鹅 洲 上 刘 继 明 1 上 篇 一 晚 饭 后 1 河 口 镇 派 出 所 的 所 长 周 斌 从 宿 舍 里 出 来 i 经 过 值 班 室 时 8 对 翘 着 二 郎 腿 看 电 视 的 民 警 王 长 征 喊 了 一 声 : 小 王 1 别 看 电 视 啦 i 陪 我 出 去 转 转 吧 y 在 民 警 小 王 的 印 象 中 上 周 斌 是 一 位 忠 于 职 守 的

More information

釋禪波羅蜜次第法門

釋禪波羅蜜次第法門 释 禅 波 罗 蜜 次 第 法 门 第 十 二 讲 最 尊 贵 的 净 莲 上 师 讲 解 讲 于 新 加 坡 大 悲 佛 教 中 心 二 一 年 六 月 三 日 各 位 法 师! 各 位 居 士 大 德! 阿 弥 陀 佛! 我 们 今 晚 介 绍 魔 事 什 么 叫 魔 事 呢? 就 是 指 魔 罗 所 做 的 事, 叫 做 魔 事 那 魔 罗 做 什 么 事 呢? 就 是 经 常 以 破 坏 众

More information

证券代码:600754 证券简称:锦江股份 公告编号:【】

证券代码:600754         证券简称:锦江股份          公告编号:【】 证 券 代 码 :600754/900934 证 券 简 称 : 锦 江 股 份 / 锦 江 B 股 公 告 编 号 :2016-017 上 海 锦 江 国 际 酒 店 发 展 股 份 有 限 公 司 日 常 关 联 交 易 公 告 本 公 司 董 事 会 及 全 体 董 事 保 证 本 公 告 内 容 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 者 重 大 遗 漏, 并 对 其 内

More information

1700 装 卸 搬 运 7645 装 卸 搬 运 服 务 2100 建 筑 7410 工 程 服 务 11% 装 卸 搬 运 服 务, 是 指 使 用 装 卸 搬 运 工 具 或 者 人 力 畜 力 将 货 物 在 运 输 工 具 之 间 装 卸 现 场 之 间 或 者 运 输 工 具 与 装 卸

1700 装 卸 搬 运 7645 装 卸 搬 运 服 务 2100 建 筑 7410 工 程 服 务 11% 装 卸 搬 运 服 务, 是 指 使 用 装 卸 搬 运 工 具 或 者 人 力 畜 力 将 货 物 在 运 输 工 具 之 间 装 卸 现 场 之 间 或 者 运 输 工 具 与 装 卸 营 改 增 征 收 品 目 对 照 表 1110 铁 路 货 物 运 输 1120 铁 路 旅 客 运 输 7110 铁 路 运 输 服 务 11% 铁 路 运 输 服 务, 是 指 通 过 铁 路 运 送 货 物 或 者 旅 客 的 运 输 业 务 活 动 1210 公 路 货 物 运 输 1220 公 路 旅 客 运 输 1300 城 市 公 共 交 通 业 7120 其 他 陆 路 运 输 服

More information

前 言 教 育 无 小 事, 它 成 就 着 学 生 的 未 来 作 为 教 师, 他 们 无 时 无 刻 不 在 关 注 着 学 生 的 成 长 学 生 的 未 来 学 生 就 像 一 朵 含 苞 待 放 的 花 朵, 需 要 老 师 们 的 细 心 呵 护, 给 学 生 需 要 的 东 西, 而

前 言 教 育 无 小 事, 它 成 就 着 学 生 的 未 来 作 为 教 师, 他 们 无 时 无 刻 不 在 关 注 着 学 生 的 成 长 学 生 的 未 来 学 生 就 像 一 朵 含 苞 待 放 的 花 朵, 需 要 老 师 们 的 细 心 呵 护, 给 学 生 需 要 的 东 西, 而 前 言 教 育 无 小 事, 它 成 就 着 学 生 的 未 来 作 为 教 师, 他 们 无 时 无 刻 不 在 关 注 着 学 生 的 成 长 学 生 的 未 来 学 生 就 像 一 朵 含 苞 待 放 的 花 朵, 需 要 老 师 们 的 细 心 呵 护, 给 学 生 需 要 的 东 西, 而 不 是 给 学 生 想 要 的 这 花 朵 需 要 水 分, 他 们 就 给 它 水 分 ; 需 要

More information

《盗墓笔记》 南派三叔/著

《盗墓笔记》 南派三叔/著 盗 墓 笔 记 南 派 三 叔 / 著 五 十 年 前, 一 群 长 沙 土 夫 子 ( 盗 墓 贼 ) 挖 到 了 一 部 战 国 帛 书, 残 篇 中 记 载 了 一 座 奇 特 的 战 国 古 墓 的 位 置, 但 那 群 土 夫 子 在 地 下 碰 上 了 诡 异 事 件, 几 乎 全 部 身 亡 五 十 年 后, 其 中 一 个 土 夫 子 的 孙 子 在 先 人 笔 记 中 发 现 了

More information

平 凡 足 迹 李 本 川 作 者 为 中 国 科 学 院 海 洋 研 究 所 研 究 员,1935 年 生, 山 东 荣 成 人 我 今 年 63 岁 了 大 前 年 丈 夫 和 儿 子 在 一 个 月 内 先 后 离 开 了 人 世, 女 儿 又 已 出 嫁, 现 在 是 孑 然 一 身 我 是

平 凡 足 迹 李 本 川 作 者 为 中 国 科 学 院 海 洋 研 究 所 研 究 员,1935 年 生, 山 东 荣 成 人 我 今 年 63 岁 了 大 前 年 丈 夫 和 儿 子 在 一 个 月 内 先 后 离 开 了 人 世, 女 儿 又 已 出 嫁, 现 在 是 孑 然 一 身 我 是 序 这 是 一 群 在 五 十 年 代 的 阳 光 下 成 长 起 来 的 女 大 学 生 们 晚 年 的 回 忆 那 时 她 们 朝 气 蓬 勃, 满 怀 理 想 ; 她 们 对 英 特 纳 雄 奈 尔 一 定 要 实 现 坚 信 不 移 ; 她 们 将 艰 苦 奋 斗 作 为 自 己 必 修 的 功 课, 将 无 私 奉 公 作 为 自 己 道 德 修 养 的 最 高 境 界, 将 服 从 祖

More information

<CFFBB7D1D5DFD0D0CEAAD1A72E6D7073>

<CFFBB7D1D5DFD0D0CEAAD1A72E6D7073> 第 3 章 消 费 者 的 需 要 与 动 机 学 习 目 标 /73 引 例 对 十 大 城 市 消 费 者 消 费 心 态 的 调 查 /74 3.1 消 费 者 需 要 的 特 征 与 形 态 /75 3.2 消 费 者 需 要 的 种 类 与 基 本 内 容 /78 3.3 消 费 者 的 购 买 动 机 /82 本 章 小 结 /89 主 要 概 念 和 观 念 /89 重 点 实 务 和

More information

独立学院建设与发展

独立学院建设与发展 独 立 学 院 建 设 与 发 展 ( 专 辑 第 1 辑 ) 目 录 文 化 建 设 论 独 立 学 院 的 校 园 文 化 建 设 江 净 帆 (1) 大 学 文 化 学 理 与 校 长 引 领 下 的 独 立 学 院 文 化 建 设 包 万 平 (4) 独 立 学 院 校 园 文 化 建 设 的 现 状 与 对 策 陈 恒 初 (8) 管 理 体 制 改 革 与 完 善 我 国 独 立 学 院

More information

-------------------------------------------------------------------------------- 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1990 -------------------

More information

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO Linux muduo C++ (giantchen@gmail.com) 2012-09-30 C++ TCP C++ x86-64 Linux TCP one loop per thread Linux native muduo C++ IT 5 C++ muduo 2 C++ C++ Primer 4 W. Richard Stevens UNIX Sockets API echo Sockets

More information

礼仪玉和葬玉

礼仪玉和葬玉 http://shop33322103.taobao.com 1 http://shop33322103.taobao.com 2 http://shop33322103.taobao.com 3 http://shop33322103.taobao.com 4 http://shop33322103.taobao.com 5 http://shop33322103.taobao.com 6 http://shop33322103.taobao.com

More information

Linux 操作系统分析 Chapter 9-2 Linux 中程序的执行 陈香兰 苏州研究院中国科学技术大学 Fall 2014 November 4,

Linux 操作系统分析 Chapter 9-2 Linux 中程序的执行 陈香兰  苏州研究院中国科学技术大学 Fall 2014 November 4, Linux 操作系统分析 Chapter 9-2 Linux 中程序的执行 陈香兰 (xlanchen@ustceducn) 计算机应用教研室 @ 计算机学院嵌入式系统实验室 @ 苏州研究院中国科学技术大学 Fall 2014 November 4, 2014 陈香兰 (xlanchen@ustceducn) ( 计算机应用教研室 Linux 操作系统分析 @ 计算机学院嵌入式系统实验室 Chapter

More information

,,.,. :, :,1999. Barry Wilkinson and Michael Allen. Parallel Programming(Techniques and Applications using Networked Workstations and Parallel

,,.,. :, :,1999. Barry Wilkinson and Michael Allen. Parallel Programming(Techniques and Applications using Networked Workstations and Parallel Parallel Programming: Fundamentals and Implementation czn@ncic ncic.ac..ac.cncn ( ) 2003.9 2003 9 1/143 ,,.,. :, 2000... :,1999. Barry Wilkinson and Michael Allen. Parallel Programming(Techniques and Applications

More information

INTRODUCTION TO COM.DOC

INTRODUCTION TO COM.DOC How About COM & ActiveX Control With Visual C++ 6.0 Author: Curtis CHOU mahler@ms16.hinet.net This document can be freely release and distribute without modify. ACTIVEX CONTROLS... 3 ACTIVEX... 3 MFC ACTIVEX

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information