L26 IO与显示器.pdf
《L26 IO与显示器.pdf》由会员分享,可在线阅读,更多相关《L26 IO与显示器.pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、操操作作系系统统Operating Systems L26 I/O与与显显示示器器 printf(Display) - 2 -Operating Systems 继继续续那那台台“计计算算机机” CPU管管理理 内内存存管管理理 磁磁盘盘管管理理 终终端端设设备备管管理理 PCI总总线线 图图形形控控制制器器 IDE控控制制器器 总总线线控控制制器器 CPU-内内存存总总线线 扩扩展展总总线线接接口口 扩扩展展总总线线 并并行行口口 进进程程(fork() 进进程程管管理理 地地址址(*p=7) 虚虚拟拟内内存存 文文件件(open) 文文件件系系统统 设设备备文文件件 设设备备管管理理 -
2、3 -Operating Systems 让让外外设设工工作作起起来来 PCI总总线线 总总线线控控制制器器 CPU-内内存存总总线线 显显卡卡、键键盘盘发发出出写写命命令令 读读数数据据到到内内存存 向向CPU发发出出中中断断 CPU向向控控制制器器中中的的寄寄存存器器 读读写写数数据据 控控制制器器完完成成真真正正的的工工作作, 并并向向CPU发发中中断断信信号号 写写显显存存 - 4 -Operating Systems 向向设设备备控控制制器器的的寄寄存存器器写写不不就就可可以以了了吗吗? 需需要要查查寄寄存存器器地地址址、内内容容的的格格式式和和语语义义操操作作系系统统要要给给用用户
3、户提提供供一一个个简简单单 视视图图文文件件视视图图,这这样样方方便便 - 5 -Operating Systems 一一段段操操纵纵外外设设的的程程序序 int fd = open(“/dev/xxx”); for (int i = 0; i filpfd; inode = file-f_inode; fd是是找找到到file的的索索引引! current不不陌陌生生吧吧,进进程程 带带动动整整个个系系统统的的视视图图 file的的目目的的是是得得到到inode,显显示示器器信信息息应应该该就就在在这这里里 - 8 -Operating Systems fd=1的的filp从从哪哪里里来来?
4、 n因因为为是是被被current指指向向,所所以以是是从从fork中中来来 void main(void) if(!fork() init(); void init(void) open(“dev/tty0”,O_RDWR,0);dup(0);dup(0); execve(/bin/sh,argv,envp) int copy_process(.) *p = *current; for (i=0; ifilpi) f-f_count+; 显显然然是是拷拷贝贝来来的的,那那么么是是谁谁一一开开始始打打开开的的? shell进进程程启启动动了了whoami命命令令,shell是是其其父父进进程程
5、 - 9 -Operating Systems open系系统统调调用用完完成成了了什什么么? 在在linux/fs/open.c中中 int sys_open(const char* filename, int flag) i=open_namei(filename,flag, cuurent-filpfd=f; /第第一一个个空空闲闲的的fd f-f_mode=inode-i_mode; f-f_inode=inode; f-f_count=1; return fd; 解解析析目目录录,找找到到inode! 核核心心就就是是建建立立这这样样一一个个链链 PCB filp file_tabl
6、e inode inode f dev/tty0 0 - 10 -Operating Systems 准准备备好好了了,真真正正向向屏屏幕幕输输出出! 继继续续sys_write! 在在linux/fs/read_write.c中中 int sys_write(unsigned int fd, char *buf,int cnt) inode = file-f_inode; if(S_ISCHR(inode-i_mode) return rw_char(WRITE,inode-i_zone0, buf, cnt); . 转转到到rw_char! 在在linux/fs/char_dev.c中中
7、int rw_char(int rw, int dev, char *buf, int cnt) crw_ptr call_addr=crw_tableMAJOR(dev); call_addr(rw, dev, buf, cnt); . /dev/tty0的的inode中中的的 信信息息是是字字符符设设备备 - 11 -Operating Systems 看看看看crw_table! static crw_ptr crw_table=.,rw_ttyx,; typedef (*crw_ptr)(int rw, unsigned minor, char *buf, int count) 第第4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能导论
限制150内