Hard disk drive vs USB flash drive
Posted: Tue Jan 26, 2010 2:24 pm
Hello.
I have recently decided that I would like to attempt to develop an operating system. I am very much still in the designing/planning phase. I would like my operating system to reside and be able to run executables residing on some sort of data storage device. I have more or less decided on EXT2 as the associated filesystem. I am having difficulty deciding on the precise type of the storage device. I must choose between an usb flash drive and my machine's hard disk. lspci (pciutils 3.1.5) on Linux 2.6.32 reports it as being:
In other words, let ChosenDSD be the data storage device of choice, with ChosenDSD being either hard disk drive (of the type mentioned above) or usb flash drive. Then:
- bootloader (GRUB) resides on ChosenDSD
- operating system (kernel image) resides on ChosenDSD
- userspace files (executables, etc.) reside on ChosenDSD
- filesystem used is EXT2
I plan to write everything from scratch, and that is the main cause of my dilemma. Generally I would prefer it if ChosenDSD is hard disk drive, however, the OSDev wiki seems to point out that SATA is difficult to work with. Just in case I am getting the wrong impression, or I am missing something, I decided I would ask here. I would also like to know if usb flash drive would be a poor choice for the ChosenDSD, given the usage scenario described above.
Various other information which may help in one way or the other:
The operating system will be very simple and minimalistic (no GUI, not portable accross various architectures, etc.), and I am not interested in "getting the most" out of the hardware involved. Despite the fact that I will be developing the o.s. in order to expand my knowledge, it would give me other benefits should I be able to make it successfuly run GCC, and various generated executables within ~ a year and a half from now.
I am very experienced in C and have fairly good knowledge of x86 assembly, the two being my languages of choice for this particular poject.
I have recently decided that I would like to attempt to develop an operating system. I am very much still in the designing/planning phase. I would like my operating system to reside and be able to run executables residing on some sort of data storage device. I have more or less decided on EXT2 as the associated filesystem. I am having difficulty deciding on the precise type of the storage device. I must choose between an usb flash drive and my machine's hard disk. lspci (pciutils 3.1.5) on Linux 2.6.32 reports it as being:
Code: Select all
IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 01)
- bootloader (GRUB) resides on ChosenDSD
- operating system (kernel image) resides on ChosenDSD
- userspace files (executables, etc.) reside on ChosenDSD
- filesystem used is EXT2
I plan to write everything from scratch, and that is the main cause of my dilemma. Generally I would prefer it if ChosenDSD is hard disk drive, however, the OSDev wiki seems to point out that SATA is difficult to work with. Just in case I am getting the wrong impression, or I am missing something, I decided I would ask here. I would also like to know if usb flash drive would be a poor choice for the ChosenDSD, given the usage scenario described above.
Various other information which may help in one way or the other:
The operating system will be very simple and minimalistic (no GUI, not portable accross various architectures, etc.), and I am not interested in "getting the most" out of the hardware involved. Despite the fact that I will be developing the o.s. in order to expand my knowledge, it would give me other benefits should I be able to make it successfuly run GCC, and various generated executables within ~ a year and a half from now.
I am very experienced in C and have fairly good knowledge of x86 assembly, the two being my languages of choice for this particular poject.