首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    mknod命令

    个人觉得linux的软件设计思想异常强大,比如把所有的设备都当做文件来处理,大大简化了程序员的负担,向提出这个思想的大神s致敬!!   先来看看linux系统中设备管理的基本知识: 我们的linux操作系统跟外部设备(如磁盘、光盘等)的通信都是通过设备文件进行的,应用程序可以打开、关闭、读写这些设备文件,从而对设备进行读写,这种操作就像读写普通的文件一样easy。linux为不同种类的设备文件提供了相同的接口,比如read(),write(),open(),close()。   所以在系统与设备通信之前,系统首先要建立一个设备文件,这个设备文件存放在/dev目录下。其实系统默认情况下就已经生成了很多设备文件,但有时候我们需要自己手动新建一些设备文件,这个时候就会用到像mkdir, mknod这样的命令。   mknod 的标准形式为: mknod DEVNAME {b | c} MAJOR MINOR   1,DEVNAME是要创建的设备文件名,如果想将设备文件放在一个特定的文件夹下,就需要先用mkdir在dev目录下新建一个目录;   2, b和c 分别表示块设备和字符设备:     b表示系统从块设备中读取数据的时候,直接从内存的buffer中读取数据,而不经过磁盘;     c表示字符设备文件与设备传送数据的时候是以字符的形式传送,一次传送一个字符,比如打印机、终端都是以字符的形式传送数据;   3,MAJOR和MINOR分别表示主设备号和次设备号:   为了管理设备,系统为每个设备分配一个编号,一个设备号由主设备号和次设备号组成。主设备号标示某一种类的设备,次设备号用来区分同一类型的设备。linux操作系统中为设备文件编号分配了32位无符号整数,其中前12位是主设备号,后20位为次设备号,所以在向系统申请设备文件时主设备号不好超过4095,次设备号不好超过2^20 -1。 .   下面,我们就可以用mknod命令来申请设备文件了。   mkdir -p /dev/cobing   mknod /dev/cobing/mydev1 c 128 512

    02

    进程间通信

    进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?首先,进程间通信至少可以通过传送、打开文件来实现,不同的进程通过一个或多个文件来传递信息,事实上,在很多应用系统里都使用了这种方法。但一般说来,进程间通信(Inter Process Communication,IPC)不包括这种似乎比较低级的通信方法。UNIX系统中实现进程间通信的方法很多,而且不幸的是,极少方法能在所有的UNIX系统中进行移植(唯一一种是半双工的管道,这也是最原始的一种通信方式)。而Linux作为一种新兴的操作系统,几乎支持所有的UNIX下常用的进程间通信方法:管道、消息队列、共享内存、信号量、套接字等。其中,前面4种主要用于同一台机器上的进程间通信,而套接字则主要用于不同机器之间的网络通信。

    01

    Windows 下安装和配置 WSL(Windows 10 子系统)

    作为一名开发者很多时候需要 Linux 环境,就连 信息学奥林匹克竞赛(NOI) 使用的编译环境都是 Linux,但 Linux 上有些有些必备的工具没有,像 Photoshop,Internet Download Manager。所以 Windows 也不能扔,需要两个系统来回切换,很是麻烦,用虚拟机又会有性能损耗,并且两个系统之间传送文件也不方便,直到知道了 WSL。 Windows Subsystem for Linux(简称 WSL,适用于 Linux 的 Windows 子系统)是一个为在 Windows 10 上能够原生运行 Linux 二进制可执行文件(ELF格式)的兼容层。WSL 可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序,且不会产生传统虚拟机或双启动设置开销。

    02
    领券