tag 标签: unix

相关博文
  • 热度 3
    2016-5-20 20:55
    1022 次阅读|
    3 个评论
    当要进行多个文件的同时读写时,为了避免等待,有以下方法可以选择: 多进程(提高了复杂性) 多线程(需要同步机制) NONBLOCKING I/O(持续polling消耗了CPU时间) 异步I/O(难以移植,且进程只有拥有一个某类型的信号) IO multiplexing 其中,IO multiplexing是最好的方法。 为了进行IO复用的实验,我使用了一个STM32F103RBT6开发板作为串口设备。 它的功能是,将自身的串口1设置为115200 8N1的波特率,并返回任何接收到的字符串。 字符串以'\r'作为结束: 比如在minicom下通过键盘发送“123456abc\r”,那么就会接收到: R: 123456abc 如果连续键入'\r'(minicom默认以此字符作为Enter键的输入),则有: R: R: R: 在主函数里,将串口进行初始化操作: fd_dev = ::open(DEVICE, O_RDWR | O_NOCTTY | O_NONBLOCK); if (fd_dev 0) {     cerr "Error: Cannot open " DEVICE endl;     return -1; } termios attr; memset(attr, 0, sizeof(attr)); attr.c_cflag = B115200 | HUPCL | CS8 | CREAD | CLOCAL; attr.c_iflag = IGNPAR; attr.c_cc = 1; if (tcsetattr(fd_dev, TCSANOW, attr) != 0) {     cerr "Error: Cannot set termios!" endl;     return -1; } 然后重新起一个线程,让它每隔一秒发送一串数据: void *ntid2_print(void *arg) {     string str;     int count = 0, flag;     while (1) {         str = "2 Write " + to_string(count++) + "th times." + "\r";         cout "= " str.c_str() endl;         flag = ::write(fd_dev, str.c_str(), str.size());         if (flag 0)             cerr "Error: Cannot write!" endl;         sleep(1);     }     return ((void *)0); } 执行的结果是: # ./UnixProg_01 = 2 Write 0th times. = 2 Write 1th times. = 2 Write 2th times. = 2 Write 3th times. 这样,串口每隔1s就会收到1个字符串,而标准输入会接收键盘数据。 现在,我需要的功能是,主函数既能够读取串口的数据,也能够读取标准IO的,并将它们都打印到标准输出上。 这里需要使用IO复用的select函数: fd_set rset; char byte; while (1) {     FD_ZERO(rset);     FD_SET(fd_dev, rset);     FD_SET(STDIN_FILENO, rset);     select(fd_dev + 1, rset, NULL, NULL, NULL);     if (FD_ISSET(fd_dev, rset)) {         flag = ::read(fd_dev, byte, 1);         if (flag 0) {             cerr "Error: Cannot read fd_dev!" endl;             return -1;         }         cout byte flush;     }     if (FD_ISSET(STDIN_FILENO, rset)) {         flag = ::read(STDIN_FILENO, byte, 1);         if (flag 0) {             cerr "Error: Cannot read fd_dev!" endl;             return -1;         }         cout byte flush;     } } 这样,标准输出既会打印串口的数据,又会打印标准输入的内容。 另外,还需要注意的一点是,STDIN_FILENO的FD_SET在循环里面,这是因为: http://stackoverflow.com/questions/7637765/why-fd-set-fd-zero-for-select-inside-of-loop
  • 热度 34
    2012-9-14 18:28
    1794 次阅读|
    0 个评论
    日前,IBM在北京举行了主题为“智慧的选择,成就智慧的成长”2012Power Unix World论坛。 面对企业转型升级所带来的IT挑战,Power Systems智慧系统凭借在云计算、大数据处理和智能商业分析方面的领先优势,持续加强对用户和合作伙伴的支持,全面助力用户实现“智慧的运算”以获得突破性的业务创新和商业价值,实现智慧的成长。 IBM系统与科技部大中华区Power Systems服务器产品部新上任的总经理侯淼由一百多年来科技演进的路线,指出我们进入了一个全新的信息技术时代,它以信息为中心,数据将呈爆炸式增长。与此同时,企业的CIO和IT领导者正面临着三大挑战:如何管理数据爆炸,以便发现趋势、预测结果并采取有效的行动?如何管理僵化的、孤立的系统和业务流程,以便提高业务敏捷性?如何管理IT成本和复杂性,同时加快将新服务推向市场的速度? 针对当前面临的诸多问题,IBM提出了“智慧的运算”,它专为大数据设计,可利用云技术进行管理,并可针对各种任务进行优化。侯淼介绍:“作为UNIX服务器领域20年来创新的引领者和业务价值的驱动者,Power Systems通过领先的技术、解决方案和在中国的最佳实践,成为成就客户智慧成长的支柱型伙伴。为了满足用户对IT基础架构和业务应用的新需求,帮助用户打造‘智慧的运算’的业务新平台,IBM从产品、技术、服务、渠道等多个层面为客户提供全方位的支持,帮助用户实现稳健、可持续、均衡、创新的智慧成长。”过去十年,Power服务器的年平均发展速度达到18%。 加大支持力度,推动合作伙伴生态系统蓬勃发展 2011年9月IBM启动了“IBM AIX开发者计划”,投入超过三千万元的资金规模,用于“天工计划”、“AIX学院”等基于Power/AIX平台的系统开发人才培训和独立软件开发商(ISV)拓展项目。AIX高手挑战赛,3107人报名参赛角逐十强选手。AIX万人培训计划在12个城市开展120多场AIX初级培训,5000多人报名,2600多人完成培训和认证。 “天工计划”成果丰硕。为了确保“天工计划”在中国成功落地,IBM全面整合其软件部、中国软件实验室、中国系统与科技实验室、渠道大学、合作伙伴部的丰富资源,为应用开发商和用户提供全方位支持,截止到今年7月,成功携手157家ISV将216个应用从x86平台成功迁移到Power平台,为150家ISV送出150台Power710测试机。 未来,Power 将不断加大技术、人员、市场方面的投入,大力支持ISV在Power平台上的各行业应用开发,并通过AIX学院和系统培训,帮助ISV培养人才。同时,IBM将继续推动“天工计划”为ISV成员的长期发展提供有利的政策、技术、市场等支持保障,共同为最终用户交付性能卓越的应用。
相关资源
  • 所需E币: 1
    时间: 2023-4-11 14:51
    大小: 76.85MB
    UNIX编程艺术-[美]EricS.Raymond
  • 所需E币: 1
    时间: 2023-3-31 12:09
    大小: 92.37MB
    Unix&Linux大学教程-哈恩
  • 所需E币: 5
    时间: 2023-3-24 14:36
    大小: 46.01MB
    上传者: 二月半
    TCPIP详解卷3:TCP事务协议、HTTP、NNTP和UNIX域协议
  • 所需E币: 3
    时间: 2023-3-14 13:45
    大小: 89.43MB
    上传者: Argent
    UNIX网络编程卷1:套接字联网API(第3版)
  • 所需E币: 2
    时间: 2023-3-14 12:40
    大小: 19.65MB
    上传者: Argent
    unix环境高级编程第三版English
  • 所需E币: 5
    时间: 2022-12-6 01:19
    大小: 159.14MB
    上传者: 大大银河
    《UNIX系统编程手册下》.((德)MichaelKerrisk).[PDF].pdf
  • 所需E币: 5
    时间: 2022-10-6 11:28
    大小: 203.46KB
    上传者: ZHUANG
    基于Unix平台的视频监控存储与管理系统的研究与开发
  • 所需E币: 1
    时间: 2022-8-26 18:36
    大小: 8.92MB
    GuidetoUNIXUsingLinux
  • 所需E币: 0
    时间: 2022-8-27 14:00
    大小: 44.86MB
    上传者: eisbergeisberg
    提要文摘附注:本书讲解了如何安装最新版本的FreeBSD,如何配置和自定义操作系统,如何自定义和使用X-Windows系统,如何在FreeBSD上设置网络服务(包括Web、电子邮件和FTP服务器),如何安装一个基于FreeBSD的文件服务器以便同MicrosoftWindows客户机共享文件。
  • 所需E币: 5
    时间: 2022-7-7 22:05
    大小: 54.45MB
    上传者: 西风瘦马
    UNIX系统编程[(美)Kay.A.RobbinsSteven.Robbins].pdf
  • 所需E币: 5
    时间: 2022-7-7 22:05
    大小: 76.06MB
    上传者: 西风瘦马
    UNIX教程(第2版)[(美)Syed.Mansoor.SarwarRobert.KoretskySyed.Aqeel.Sarwar].pdf
  • 所需E币: 1
    时间: 2022-5-5 14:41
    大小: 38.18MB
    上传者: 西风瘦马
    UNIX编程艺术_12727304_(美)EricS.Raymon....pdf
  • 所需E币: 0
    时间: 2022-4-25 16:06
    大小: 117.55MB
    上传者: eisbergeisberg
    书名: Unix&Linux大学教程作者: 哈恩(HarleyHahn)原作名: HarleyHahn'sGuidetoUnixandLinux
  • 所需E币: 5
    时间: 2020-11-8 21:45
    大小: 82.87MB
    上传者: kaidi2003
    UNIX网络编程卷1:套接字联网API(第3版)
  • 所需E币: 0
    时间: 2020-9-20 23:04
    大小: 85.39MB
    上传者: bwj312
    UNIX网络编程卷1:套接字联网API(第3版)
  • 所需E币: 0
    时间: 2020-9-10 22:32
    大小: 193.61KB
    上传者: Goodluck2020
    软件基础_1007第三章UNIX工具sed_awk.pdf
  • 所需E币: 0
    时间: 2020-9-10 22:32
    大小: 337KB
    上传者: Goodluck2020
    软件基础_1006第三章UNIX工具backus_vi.pdf
  • 所需E币: 0
    时间: 2020-9-10 02:08
    大小: 12.83MB
    上传者: Goodluck2020
    UNIX环境高级编程.rar
  • 所需E币: 1
    时间: 2020-5-29 09:24
    大小: 22.36MB
    上传者: 渣渣欣
    《UNIX环境高级编程(第3版)》帮助了几代程序员写出强大、高性能、可靠的代码。第3版根据当今主流系统进行更新,更具实用价值。这一版涵盖了70多个新版POSIX.1标准的新增接口,包括POSIX异步I/O、旋转锁、屏障(barrier)和POSIX信号量。此外,这一版删除了许多过时的接口,保留了一些广泛使用的接口。书中几乎所有实例都已经在目前主流的4个平台上测试过,包括Solaris10、MacOSX10.6.8(Darwin10.8.0)、FressBSD8.0、Ubuntu12.04(基于Linux3.2内核)。与前两版一样,读者仍可以通过实例学习,这些实例包括了1万多行可下载的ISOC源代码,书中通过简明但完整的程序阐述了400多个系统调用和函数,清楚地说明它们的用法、参数和返回值。为了使读者能融会贯通,书中还提供了几个贯穿整章的案例,每个案例都根据现在的技术环境进行了全面更新。《UNIX环境高级编程(第3版)》是被誉为UNIX编程“圣经”的AdvancedProgrammingintheUNIXEnvironment一书的第3版。在本书第2版出版后的8年中,UNIX行业发生了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持前一版风格的基础上,根据新的标准对内容进行了修订和增补,反映了新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了众多应用实例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。《UNIX环境高级编程(第3版)》概念清晰,阐述精辟,对于所有层次UNIX/Linux程序员都是一本不可或缺的参考书。
  • 所需E币: 5
    时间: 2019-12-26 01:41
    大小: 104.89KB
    上传者: 二不过三
    UNIX高级编程……