ImageVerifierCode 换一换
格式:PPT , 页数:32 ,大小:431.50KB ,
资源ID:2404564      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2404564.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(第六讲-连接控制:学习stty.ppt)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

第六讲-连接控制:学习stty.ppt

1、第六讲 连接控制:学习stty1主要内容文件和设备间的相似之处文件和设备间的不同之处连接的属性竞争和原子操作控制设备驱动程序流2为设备编程计算机还有很多其它数据来源,例如调制解调器、打印机、扫描仪、终端等外部设备如何访问连接这些设备?与文件的方法有什么相同及不同之处?3设备与文件的相同之处可以从文件中读写数据可以从设备中读写数据,例如麦克风及声卡从键盘设备读取输入,向屏幕输出数据对Unix而言,声卡、终端、鼠标及磁盘文件是同一种对象Unix中,每个设备都被当做一个文件。每个设备都有一个文件名、一个i节点号、一个文件所有者、一个权限位的集合及最近修改时间4设备具有文件名表示设备的文件存放在目录/

2、dev中ls-C/dev|head-5上述结果显示了若干种设备,第三列中的lp*文件是打印机,第二列的fd*是软驱,sd*表示SCSI设备,最后一列的tty*代表文件终端。dsp文件是到声卡的一个连接。进程打开文件/dev/mouse读取鼠标的单击和位置变化5设备和系统调用设备也支持open、read、write、lseek、close及stat等系统调用例如,从磁带读取数据的代码:int fd;fd=open(“/dev/tape”,O_RDONLY);lseek(fd,(long)4096,SEEK_SET);n=read(fd,buf,buflen);close(fd);6终端就像文件U

3、nix的很多用户输入来自终端ttysd,ttyse等文件都代表终端终端可能是:键盘、屏幕、调制解调器、telnet窗口。其最重要功能:接受用户的字符输入和将信息显示给用户7终端就像文件命令tty可以告知用户所在终端的文件名tty/dev/pts/2cp/etc/passwd/dev/pts/2who /dev/pts/2ls li/dev/pts/28设备文件的属性设备文件具有磁盘文件大部分属性例如/dev/pts/2文件拥有i节点、权限位,链接数、文件所有者和组tty、最近修改时间、文件类型等。文件类型c表示为字符型设备9设备文件和文件大小设备文件是链接而不是容器设备文件的i节点存储的是指向

4、内核子程序的指针而不是文件大小和存储列表内核中传输设备数据的子程序被称为设备驱动程序/dev/pst/2 文件中的参数136为进程表中编号为136的子程序,该子程序接收一个整型参数2。这个参数被称为从设备号。10设备文件和权限位权限位的写表示允许向设备发送数据读表示允许从设备读取数据11设备与文件的不同之处终端具有回显、波特率、编辑和换行会话与磁盘文件的连接通常具有内核缓冲区到终端的连接则不同,进程需要尽快把终端的数据传送出去。一般情况下,所输入的字符对会显示在屏幕上,但有些时候,当输入密码时,字符并不回显在屏幕上。回显字符不是键盘任务的一部分,也不是程序应该做的回显是连接的一个属性,到磁盘文

5、件的连接没有这些属性。12磁盘连接的属性属性1:缓冲可以通过修改文件描述符中的相关变量进行设置,步骤如下:1.生成系统调用将控制变量从文件描述符复制到进程2.修改该控制变量3.将修改过的值送回内核,代码如下:#include int s=fcntl(fd,F_GETFL);s|=O_SYNCresult=fcntl(fd,F_SETFL);if (result=-1)perror(“setting sync”);13fcntl系统调用文件描述符的属性编码在一个整形数据中通过fcntl调用读写该整数位来控制文件描述符O_SYNC 告诉内核,对write的调用仅能在数据写入实际的硬件时才能返回而不

6、是在数据复制到内核缓冲时执行默认的返回操作14fcntl目标控制文件描述符头文件 函数原型int res=fcntl(int fd,int cmd);int res=fcntl(int fd,int cmd,long args);int res=fcntl(int fd,int cmd,struct flock*lockp);参数fd 文件描述符 cmd需要执行的操作arg操作的参数 lock 锁信息返回值-1遇到错误other依操作而定15属性2:自动添加模式自动添加模式对于若干个进程同一时间写入文件是很有用的考虑wtmp文件,它存储所有的登录和退出记录。当一个用户登录和退出时,程序logi

7、n在其中末尾追加记录。用如下的代码将数据添加到文件:lseek(fd,0,SEEK_END);write(fd,&rec,len);16上述代码的问题用户A登录用户B登录时间lseek(fd,0,SEEK_END)lseek(fd,0,SEEK_END)1234write()write()17Unix是一个分时系统,这个过程需要两个独立的步骤lseek和write时间1:B的登录进程定位文件的末尾时间2:B的时间片用完,A的登录进程定位文件的末尾时间3:A的时间片用完,B的登录进程写入记录时间4:B的时间片用完,A的登录进程写入记录产生竞争现象,A的记录被B的记录所覆盖18原因分析lseek和

8、write调用是独立的系统调用,内核可随时打断进程,从而使其被中断如果设置O_APPEND标志位,则内核将lseek和write组合成原子操作,被组合为不可分割的单元19解决方法:用open控制文件描述符通常在打开一个文件时,应该知道要怎么设置通过open系统调用的第二个参数的一部分来设置文件描述符的属性位。例如:fd=open(WTMP_FILE,O_WRONLY|O_APPEND|O_SYNC)可以通过open创建一个包含O_CREAT标志位的文件,例如:fd=creat(filename,permission_bits);fd=open(filename,O_CREAT|O_TRUNC|

9、O_WRONLY,permission_bits)是等价的20其它标志位O_CREATO_TRUNCO_EXCL:防止多个进程同时创建同名文件,如果文件存在且O_EXCL被置位,则返回-121终端连接的属性实验一:#include main()int c,n=0;while(c=getchar()!=Q)printf(char%3d is%c code%dn,n+,c,c);22程序执行的结果输入hello显示结果:char 0 is h code 104char 1 is e code 101char 2 is l code 108char 3 is l code 108char 4 is

10、o code 111char 5 is code 10Q23执行结果的分析进程在用户输入了Return后才接收数据进程将用户输入的Return(ASCII码13)看做换行符(ASCII码10)进程发送换行符,终端接收回车换行符程序发送n,但是显示器收到的为rn用户输入r,但是程序接收到n24终端驱动程序处理进程和外部设备间数据流的内核子程序的集合进程可读、修改和重置这些驱动控制标志stty命令可让用户读取和修改终端驱动程序的设置输入命令stty输入命令stty-all25终端驱动程序stty rease Xstty-echostty erase echo26编写终端驱动程序输入:驱动程序如何处

11、理终端来的字符输出:如何处理流向终端的字符控制:字符如何被表示-位的个数、位的奇偶性、停止位等。本地:如何处理来自驱动程序内部的字符27编写终端驱动程序从驱动程序获得属性修改所要修改的熟悉将修改过的属性送回驱动程序,例如#include struct termios attribs;tcgetattr(fd,&settings);settings.c_lflag|=ECHO;tcsetattr(fd,TCSANOW,&settings)28相关函数调用目标读取tty驱动程序的属性头文件 函数原型int res=tcgetattr(int fd,struct termios*info)参数fd

12、文件描述符info 指向终端结构的指针返回值-1遇到错误0成功返回29目标设置tty驱动程序的属性头文件 函数原型int res=tcsetattr(int fd,int when,struct termios*info)参数fd 文件描述符when 改变设置的时间info 指向终端结构的指针返回值-1遇到错误0成功返回30when参数TCSCNOW:立即更新驱动程序设置TCSADRAIN:等待直到驱动程序队列中的所有输出都被送到终端,然后进行更新TCSAFLUSH:等待直到驱动程序队列中的所有输出都被送出去,然后释放所有队列中的输入数据,并进行一定的变化31struct termios结构类型struct termios tcflag_t c_iflag;/输入模式 tcflag_t c_oflag;/输出模式 tcflag_t c_cflag;/控制模式 tcflag_t c_lflag;/本地模式 cc_t c_ccNCCS;/控制字符 speed_t c_ispeed;/输入速度 speed_t c_ospeed;/输出速度32

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服