单元格合并、居中、对齐的例子

单元格合并、居中、对齐的例子 \begin{table}[H] \centering \footnotesize % \setlength{\tabcolsep}{10pt} \begin{tabular}{{\centering\arraybackslash}m{8em}|{\raggedright\arraybackslash}p{42em}} % \begin{tabular}{c|c|c|c|c|c} \toprule \multicolumn{1}{c|}{层级} \multicolumn{1}{c}{功能} \\\hline 用户程序 调用{\ttfamily read(fd, buf, 100)}发起磁盘I / O请求进程进入阻塞状态 \\\hline \multirow{2}{}{\centering\arraybackslash 系统调用处理程序 \par设备独立软件} \Textcircled{1} 验证fd是否有效用户是否有读取该文件的权限。\Textcircled{2} 解析参数根据文件偏移量算出要读取数据在文件系统上的逻辑块号例如文件的第 3 个逻辑块。\Textcircled{3} 将请求交给磁盘驱动。\\\hline \multirow{2}{*}{设备驱动程序} \Textcircled{1} \uwave{将逻辑块号转换成磁盘物理地址柱面号、磁头号、扇区号}。\Textcircled{2} 配置 DMA 控制器设置数据传输的目标内核地址。\Textcircled{3} 向磁盘控制器发送读命令启动 I/O。\\\hline \multirow{2}{*}{中断处理程序} \Textcircled{1} 磁盘读完数据后触发中断CPU 暂停当前任务。\Textcircled{2} 检查 I/O 状态确认传输成功。\Textcircled{3} 把内核缓冲区的数据拷贝到buf指向的内存空间。\Textcircled{4} 唤醒用户进程read()函数返回程序继续执行。\\ \bottomrule \end{tabular} \end{table}\multirow{2}{*}{中断处理程序} 在段落中间使用\par换行不生效。默认靠左对齐段落中间换行且居中对齐\multirow{2}{}{\centering\arraybackslash 系统调用处理程序 \par设备独立软件}