zoukankan      html  css  js  c++  java
  • 关于终端的一些总结

    ttS*是面向设备

    ttyn是面向进程

    shell与终端的关系:shell把一些信息适当的输送到终端设备,同时还接收来自终端设备的输入。一般每个shell进程都会有一个终端关联,也可以没有。

    文件都有设备号属性(主设备号和从设备号)

    字符设备的特性是FIFO,是一个队列,没有缓冲区,典型的是键盘和屏幕,在用户空间对应的是(stdin,stdout,stderror,对应glibc的FILE结构体),对应的设备文件是tty或者tps/n,stdio中的读写函数(printf,scanf),使用的便是上面三个结构体打开的文件,所谓的读写缓冲区就是stdio和stdout FILE结构体对应的缓冲区,stderror没有缓冲区,因此可以直接输出。

    上面的说法有些问题,因为pts和ptmx并不代表实际的设备

    when open a terminal(like gome-terminal),the input and output is running on it,and it pass user's input to the shell or its son process(by fork),it's easy to be confused by the realinput and stdin

    http://blog.csdn.net/lzhsdly/article/details/7218918

     伪终端模仿早先时候的通信方式,主设备和从设备,主设备对应早些时候的主机,从设备对应终端。目的是为了实现进程的通信。

  • 相关阅读:
    Scala学习笔记(四)—— 数组
    Scala学习笔记(三)—— 方法和函数
    Scala学习笔记(二)——Scala基础
    Scala学习笔记(一)
    HDFS和GFS对比学习
    HDFS原理学习
    c++日历问题
    Mapreduce学习
    c++动态规划解决数塔问题
    C++——数码管
  • 原文地址:https://www.cnblogs.com/johnnyflute/p/3524517.html
Copyright © 2011-2022 走看看