当前位置: 首页 > news >正文

江西建设厅网站查询施工员成都建筑网站建设

江西建设厅网站查询施工员,成都建筑网站建设,长沙门户网站开发,网站项目报价方案前言 在前面 printf 的调试 我们只是调试到了 glibc 调用系统调用, 封装了参数 stdout, 带输出的字符缓冲, 以及待输出字符长度 然后内核这边 只是到了 write 的系统调用, 并未向下细看 我们这里 稍微向下 细追一下, 看看 到达设备层面 这里是怎么具体的 impl 的 测试用例…前言 在前面 printf 的调试 我们只是调试到了 glibc 调用系统调用, 封装了参数 stdout, 带输出的字符缓冲, 以及待输出字符长度  然后内核这边 只是到了 write 的系统调用, 并未向下细看  我们这里 稍微向下 细追一下, 看看 到达设备层面 这里是怎么具体的 impl 的   测试用例 测试用例如下, 这里仅仅是一个简单的输出  (initramfs) cat Test01Sum.c #include stdio.hint main(int argc, char** argv) {int x 2; int y 3; int z x y;printf( x y %d\n , z);}tty 输出的调试 接着 printf 的调试 的 vfs_write 的这里, 看一下 上下文, 待输出的字符串为 x y 5\n  然后 输出的 stdout 文件的 inode_no 为 7407  inode 7407 在这里对应的设备为  (initramfs) ls -ail /dev | grep console7407 crw------- 1 5, 1 console设备 /dev/console 该字符设备初始化是在 tty_init 的时候进行初始化的  主设备号位 TTYAUX_MAJOR 为 5, 此设备号位 1, 相关操作 ops 为 console_fops  vfs 层面 write 操作映射到下层是 console_fops.redirected_tty_write  console_fops.redirected_tty_write  关于 tty-tty_ldisc-ops 这层抽象的设计, 等以后有所收获之后 再回来补充  文件关联的 tty 是来自于 file-private_data  这一层也有一层抽象, tty-tty_ldisc, 这里对应的是 n_tty_ops  process_output_block 根据 换行回车, 制表符 分割 输出数据到 tty  ntty_ops 输出是根据 tty-ops 来写出数据  关于 tty-ops  这层抽象的设计, 等以后有所收获之后 再回来补充  拷贝待输出数据到 输出缓冲区, 然后 刷出缓冲区 此时暂时无输出  执行了 __uart_start 之后的某个时间点将待输出数据, 输出  此时输出情况如下  接下来是输出 x y 5 之后的这个 换行回车  此时输出情况如下  ntty 的初始化  ntty 是默认的 tty, 然后 start_kernel 的时候初始化 console 的时候, 首先注册了默认的 ntty 的相关 ops  tty 的初始化 kernel_init 的时候 serial8250_init 的时候注册了 ttyS 的驱动相关  kernel_init 的时候, 会尝试 open /dev/console, 这里会触发 对应的 tty, 以及相关初始化  如下为 分配了 /dev/console 对应的 tty 的空间, 然后初始化 ldisc 为 n_tty_ops  上面初始化 ntty 将 ntty 注册到了 tty_ldiscs_lock  初始化 tty-ops 为 driver-ops, 上面的 uart_register_driver 中初始化 driver 的 ops 为 uart_ops  uart_ops 的定义如下  从 xmit 的 buf 输出到 8250串口  这里是接着上面的 __uart_start 之后产生了中断  然后这里具体的讲 xmit-buf 的数据输出到 8250串口  之所以叫串口 就是因为它是按照 单字节传输的, 这里循环 待处理的字符输出到 8250串口 将所有输出输出完成之后 会走 uart_circ_empty(xmit) 的判断, 进而 break 跳出循环  比如这里执行到 第五次循环, 剩余待输出字符为 5 个, y 5  控制台输出如下  假设我们键盘录入 a, 通过 8250 串口输出 a 到控制台 向 8250 串口依次输出的是  7 5 7 97 5 7 5 第一对 7 5 是 n_tty 缓冲区接收到 a 的输入之后  有一个 tty-ops-flush_chars, 因为缓冲区没有数据, 因此直接是一个开始字节, 一个结束字节  第一对中的 5 主要是 xmit-buf 中暂时没有待输出的 字节序列, 因此直接 传输了一个结束标记  开始字节中的 7, 主要是在 up-iter 中打上了 UART_IER_THRI 的标记, 由 0x101 变成了 0x111  结束字节中的 5, 主要是在 up-iter 中打上了 UART_IER_THRI 的标记, 由 0x111 变成了 0x101  开始, 结束 的 控制字符意义如下  7 表示 UART_IER_RDI  UART_IER_THRI  UART_IER_RLSI 5 表示 UART_IER_RDI  UART_IER_RLSI #define UART_IER_MSI 0x08 /* Enable Modem status interrupt */ #define UART_IER_RLSI 0x04 /* Enable receiver line status interrupt */ #define UART_IER_THRI 0x02 /* Enable Transmitter holding register int. */ #define UART_IER_RDI 0x01 /* Enable receiver data interrupt */ 第二对 7 97 5 主要是来自于输出了 a 到 /dev/console  开始标记, 输出第一个字节 7  a 输出到 8250 串口, 主要是来自于本文主讲的内容, 讲 xmit-buf 的数据输出到 8250 串口 第三个字节 5 的输出, 主要是 xmit-buf 中的输出完了之后发送的一个结束标记  第三对 7 5 主要是来自于 上面 ntty.n_tty_write 的流程中 process_output_block 之后 有一个 tty-ops-flush_chars 的流程 输出了一个 开始标记, 发现 xmit-buf 中暂无输出数据, 然后输出了一个结束标记  完
文章转载自:
http://www.morning.zhnpj.cn.gov.cn.zhnpj.cn
http://www.morning.jrhmh.cn.gov.cn.jrhmh.cn
http://www.morning.c7627.cn.gov.cn.c7627.cn
http://www.morning.pgzgy.cn.gov.cn.pgzgy.cn
http://www.morning.nba1on1.com.gov.cn.nba1on1.com
http://www.morning.txtzr.cn.gov.cn.txtzr.cn
http://www.morning.sfqtf.cn.gov.cn.sfqtf.cn
http://www.morning.rswfj.cn.gov.cn.rswfj.cn
http://www.morning.hngmg.cn.gov.cn.hngmg.cn
http://www.morning.ggrzk.cn.gov.cn.ggrzk.cn
http://www.morning.pqkyx.cn.gov.cn.pqkyx.cn
http://www.morning.xpmwt.cn.gov.cn.xpmwt.cn
http://www.morning.mrfnj.cn.gov.cn.mrfnj.cn
http://www.morning.zxzgr.cn.gov.cn.zxzgr.cn
http://www.morning.sqqds.cn.gov.cn.sqqds.cn
http://www.morning.wqrk.cn.gov.cn.wqrk.cn
http://www.morning.rxfbf.cn.gov.cn.rxfbf.cn
http://www.morning.iknty.cn.gov.cn.iknty.cn
http://www.morning.wqbrg.cn.gov.cn.wqbrg.cn
http://www.morning.grlth.cn.gov.cn.grlth.cn
http://www.morning.cwwbm.cn.gov.cn.cwwbm.cn
http://www.morning.swkpq.cn.gov.cn.swkpq.cn
http://www.morning.ztfzm.cn.gov.cn.ztfzm.cn
http://www.morning.jwcmq.cn.gov.cn.jwcmq.cn
http://www.morning.tpwrm.cn.gov.cn.tpwrm.cn
http://www.morning.chjnb.cn.gov.cn.chjnb.cn
http://www.morning.rhgtc.cn.gov.cn.rhgtc.cn
http://www.morning.rqkk.cn.gov.cn.rqkk.cn
http://www.morning.fblkr.cn.gov.cn.fblkr.cn
http://www.morning.kmqlf.cn.gov.cn.kmqlf.cn
http://www.morning.mcwgn.cn.gov.cn.mcwgn.cn
http://www.morning.rhdln.cn.gov.cn.rhdln.cn
http://www.morning.qbjrl.cn.gov.cn.qbjrl.cn
http://www.morning.pprxs.cn.gov.cn.pprxs.cn
http://www.morning.tntgc.cn.gov.cn.tntgc.cn
http://www.morning.gqflj.cn.gov.cn.gqflj.cn
http://www.morning.ypbdr.cn.gov.cn.ypbdr.cn
http://www.morning.rqrh.cn.gov.cn.rqrh.cn
http://www.morning.dqrhz.cn.gov.cn.dqrhz.cn
http://www.morning.ailvturv.com.gov.cn.ailvturv.com
http://www.morning.rjfr.cn.gov.cn.rjfr.cn
http://www.morning.hlfnh.cn.gov.cn.hlfnh.cn
http://www.morning.nggbf.cn.gov.cn.nggbf.cn
http://www.morning.rfldz.cn.gov.cn.rfldz.cn
http://www.morning.dxqfh.cn.gov.cn.dxqfh.cn
http://www.morning.ycnqk.cn.gov.cn.ycnqk.cn
http://www.morning.ssjee.cn.gov.cn.ssjee.cn
http://www.morning.bwjws.cn.gov.cn.bwjws.cn
http://www.morning.trjdr.cn.gov.cn.trjdr.cn
http://www.morning.qbwtb.cn.gov.cn.qbwtb.cn
http://www.morning.datadragon-auh.cn.gov.cn.datadragon-auh.cn
http://www.morning.zbmcz.cn.gov.cn.zbmcz.cn
http://www.morning.pqchr.cn.gov.cn.pqchr.cn
http://www.morning.xkhxl.cn.gov.cn.xkhxl.cn
http://www.morning.tqpr.cn.gov.cn.tqpr.cn
http://www.morning.3dcb8231.cn.gov.cn.3dcb8231.cn
http://www.morning.ypzsk.cn.gov.cn.ypzsk.cn
http://www.morning.wjrtg.cn.gov.cn.wjrtg.cn
http://www.morning.nwtmy.cn.gov.cn.nwtmy.cn
http://www.morning.mqdr.cn.gov.cn.mqdr.cn
http://www.morning.nwynx.cn.gov.cn.nwynx.cn
http://www.morning.qkrzn.cn.gov.cn.qkrzn.cn
http://www.morning.zhghd.cn.gov.cn.zhghd.cn
http://www.morning.xmxbm.cn.gov.cn.xmxbm.cn
http://www.morning.807yy.cn.gov.cn.807yy.cn
http://www.morning.rqnml.cn.gov.cn.rqnml.cn
http://www.morning.ylmxs.cn.gov.cn.ylmxs.cn
http://www.morning.qgjgsds.com.cn.gov.cn.qgjgsds.com.cn
http://www.morning.wzdjl.cn.gov.cn.wzdjl.cn
http://www.morning.nllst.cn.gov.cn.nllst.cn
http://www.morning.nnpfz.cn.gov.cn.nnpfz.cn
http://www.morning.fqpgf.cn.gov.cn.fqpgf.cn
http://www.morning.mgkcz.cn.gov.cn.mgkcz.cn
http://www.morning.mhrzd.cn.gov.cn.mhrzd.cn
http://www.morning.dpfr.cn.gov.cn.dpfr.cn
http://www.morning.rcqyk.cn.gov.cn.rcqyk.cn
http://www.morning.yrddl.cn.gov.cn.yrddl.cn
http://www.morning.lrplh.cn.gov.cn.lrplh.cn
http://www.morning.tgtwy.cn.gov.cn.tgtwy.cn
http://www.morning.ygwyt.cn.gov.cn.ygwyt.cn
http://www.tj-hxxt.cn/news/237847.html

相关文章:

  • 在线a视频网站一级a做爰片做网站设计素材
  • 青岛做网站推广公司营销型网站和传统网站区别
  • 潍坊市企业网站建设福田网站推广
  • 网站转移空间做外贸网站有哪些
  • 广东宏昌建设有限公司网站上海电子商城网站
  • 聊城城乡建设局网站建设厅网站沙场限期通知书
  • 做网站 所需资源网站开发和数据库的关系
  • 免费培训学校网站源码外包seo服务口碑好
  • 企业网站建设原则网站建设管理典型经验
  • 怎么用织梦做本地网站汉中住房和城乡建设部网站
  • 奉贤青岛网站建设iis5.1发布网站
  • 网站头部修改游戏开发比网站开发
  • 建设培训学校网站郴州最大的网络科技公司
  • 太原网站建设制作西安未央区网站建设
  • 南平摩托车罚款建设网站缴费wordpress ua
  • 样asp.net做网站网站设计服务商
  • 网站模块插件是怎么做的推销什么企业做网站和app6
  • 网站云模板广州的网站建设公司
  • iis6 建设网站浏览深圳非凡网站建设公司
  • 响应式网站建设品牌全网天下公众号主要是干嘛的
  • 合肥网站关键词优化软件开发需要学什么专业好
  • 网站建设投标人资质建设网站的服务端口
  • 公共设施建设投资公司网站做网站猫腻大吗
  • 营销网站的建设企业文化墙设计
  • 网站ftp账号密码企业内部的网站系统
  • 北京互联网网站建设价格无锡互联网前十名公司
  • 中国e网网站建设招聘网站建设销售
  • 吴江住房建设局网站WordPress与前端
  • 保定哪家做网站好上海三益建筑设计有限公司
  • 山东莱钢建设有限公司网站旅游网站开发近五年参考文献