tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Devices.



from John Nemeth:

> On May 29, 22:52, David Holland wrote:
> } On Sat, May 29, 2021 at 05:41:38PM -0400, Mouse wrote:
}       
> }  > > For disks, which for historical reasons live in both cdevsw and
> }  > > bdevsw, both entries would point at the same disk_dev.
}  >
> }  > I would suggest getting rid of the bdev/cdev distinction.  It is, as
> }  > you say, a historical artifact, and IMO it is not serving anyone at
> }  > this point.
}
> } It is deeply baked into the system call API and into POSIX, so it's
> } not going anywhere. It's been proposed that we should stop having 
> } block devices, which would have the same net effect; I have no strong
> } opinion on that and it doesn't need to be part of this set of changes.

>      I was thinking the same thing about getting rid of block
> devices.  The only place they should ever be used is an argument
> to mount(2) and mount(2) can be adjusted to use a block device
> underneath when it is handed a character device.  FreeBSD got rid
> of block devices a long time ago.  Doing that as a first step is
> likely to simplify things to make other things easier.
        
> }  > > A third question: how does this affect interfaces?
}  >    
> }  > As in, network interfaces?  Good question.  I think they should be
> }  > device nodes in the filesystem *somehow*.
}       
> } That's probably true, but they currently aren't and the plumbing above
> } them is unrelated to the VFS device plumbing, so for the time being
> } it's a separate issue.
}
> } Disentangling the current situation with device special files on  
> } filesystems will make it easier to manifest interfaces on disk if we
> } ultimately want that.
        
>      We should really get with the times and create a devfs.  I
> know that there are people that disagree with this (likely including
> you), but the archaic device node system causes a lot of headaches
> and it's time that we joined the 21st century.  Anything done with
> devices should be done with idea of a devfs in mind.  Yes, devfs
> like things have caused a lot of problems on other operating systems,
> but I think we have enough brain power and enough real world examples
> to be able to not repeat the mistakes of the past.
        
> }-- End of excerpt from David Holland

I strongly agree on creating a devfs!

I remember the days of static device nodes in Linux and FreeBSD.

FreeBSD switched to devfs with v5 and 6; static device nodes became no longer an option.

It is nice to be able to run "ls /dev/da*" and see what USB sticks and hard drives are connected.

I believe Linux can still use static device nodes, but users generally prefer dynamic device nodes.

It's a nuisance not to be able to recognize all partitions on a GPT-partitioned drive because not enough dk* nodes have been configured.  FreeBSD even distinguishes between USB or SCSI disks and SATA disks, and between GPT partitions and MBR-based partitions: better than Linux in that regard.

OpenBSD still uses static device nodes and looks backward compared to NetBSD and FreeBSD.

Tom


Home | Main Index | Thread Index | Old Index