• 003 Windows I/O操作


    #Windows I/O操作

      在Windows 程序中,基础的运行单元位线程!为每一个线程分配一个处理器,可以让系统执行多个操作!当线程运行一个IO操作时,会被挂起,从而影响性能!位解决这类问题,Windows使用了一套非常好的机制I/O完成端口 接下来我们将学习Windows中的相关操作。

    摘抄与维基百科
        I/O(英语:Input/Output),即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出。
        目录  [隐藏] 
            1    用途
            2    输入
            3    输出
            4    双向
            5    参见
        用途[编辑]
            输入[编辑]
            键盘
            定点装置
            指点杆
            鼠标
            触控板
            轨迹球
            扫描仪
            麦克风
            相机
        输出[编辑]
            屏幕、投影机
            打印机、
            扬声器、耳机
            闪光灯
        双向[编辑]
            存储设备,如RAM
            一部分USB和火线设备
            触摸屏
            刻录机
            ADSL
            ATM
            USB
        参见[编辑]
            I/O总线
            BIOS
            计算机硬件
        //IO操作
           C++中的IO操作
            printf    
            scanf        
            cout
            cin
            操作语言的IO操作 都是从读取 写入操作
    
        
    
        //windows操作系统下的 IO操作
            对于文件的操作 I/O操作
            对于外部设备的操作 I/O操作
            USB 
            文件针对硬盘
                目录
                逻辑磁盘驱动器
                物理磁盘驱动器
    
            系统跟外部设备操作的统称位I/O操作
    
    
    
    
    

      

                //Windows 是一个多任务多线程的操作系统
                        多进程 windows 下面可以执行多个进程 (代表当前程序的单位)
                        多线程 在一个进程下面可以执行多个线程(实际工作的工人)
    
                //CPU 多核心
                        编写程序的时候我们都可以调用当中的每一个内核
                        操作系统层面上每一个内核可以对应程序的每一个线程
    
                    在多核CPU下 我们可以让每一个核心 来帮我们运行一个线程,来做一件事情,我们就可以达到多任务同时并行处理
        

      I/O完成端口

        挂起

      设备

        //除了内存之外的其他系统中的都是设备
        包括硬盘
        外接设备 U盘 串口 并口设备
        显卡也是设备(不属于标准的I/O操作)
      //那为什么内存不是设备呢?
        内存是我们运行所有程序的载体

      文件

          Windows编程中的文件定义

            二进制数据集合

      广义文件定义

          根据文件格式定义不同意义的文件

      目录

          在计算机或相关设备中,一个"目录"或文件夹 就是一个装有数字文件系统的虚拟"容器"。在它里面保存着一组文件和其他一层目录(文件夹)。

          一个典型的文件系统可能会包含成千上万的目录(文件夹),多个文件通过存储在一个目录(文件夹)中,可以达到有组织的存储文件的目的。在一个目录(文件夹)中的另外一个目录(文件夹)被称作它的子目录(子文件夹),这样,这些目录(文件夹)就构成了层次(hierarchy),或树形结构。

      逻辑磁盘驱动器

          可以将 Windows上的原始磁盘空间配置位裸辞驱动器或物理驱动器。逻辑驱动器在编程中常被用于格式化驱动器!

      物理磁盘驱动器

          常被用于获取分区表

      串口    计算机和外部设备来数据交互的一种方式

          通过点电话线发送型号,单通道!

      并口    计算机和外部设备来数据交互的一种方式

          8通道!

      邮件槽

          一对多,通过网络传输!

      

      命名管道

          一对一,通过网络传输

          管道通信 一头进一头出

          -> -> -> -> -> 单向的

      

      匿名通道

          一对一,本机传输!

      套接字

          报文或数据流传输,通过网络传输!

          所有操作系统

          网络设备都是用套接字

          一对多 多对一 

            //还有控制台的I/O操作 现在用的不多了

      打开方式

        设备                打开方式          叙述

        文件            CreateFile(路径或UNC路径)

        目录            CreateFile(路径或UNC路径)    需要FILE_FLAG_BACKUP_SEMANTICS标志

       逻辑磁盘           CreateFile(\.?:)

       物理磁盘          CreateFile(\.PHYSICALDRIVE?)

        串口            CreateFile(COM?)

        并口            CreateFile(LPT?)

      邮件槽服务器          CreateMailslot(\.mailslot(邮件槽名)

      邮件槽客户端          CreateFile(\servernamemailslot(邮件槽名)

      命名管道服务器         CreateNamePipe(\.pipe管道名)

      命名管道客户端         CreateFile(\.servenamepipe(管道名)

       匿名通道           CreatePipe

       套接字            Socket,accept

  • 相关阅读:
    Extjs4 关于设置form中所有子控件为readOnly属性的解决方案
    Chrome调试(转)
    ExtJS4 动态加载
    CSS display和visibility的用法和区别
    利用Java调用OpenCV进行人脸识别
    Mac上安装openCV(Java版本)
    关于mysql的Fetch Time 和 Duration Time
    数据库相关中间件介绍
    JVM和java应用服务器调优
    探索 ConcurrentHashMap 高并发性的实现机制
  • 原文地址:https://www.cnblogs.com/sdk123/p/6828931.html
Copyright © 2020-2023  润新知