How small can you make FreeDOS?

  Рет қаралды 20,874

FreeDOS

FreeDOS

3 жыл бұрын

DOS is a small operating system, but how small can you make FreeDOS and still call it "DOS"? You only need the kernel and a way to run programs. Let's destroy a running FreeDOS system to see how small we can make it, and still run a DOS program.
Download FreeDOS
www.freedos.org/
Join us on Facebook
/ freedos
Follow us on Twitter
/ freedos_project
Consider supporting me on Patreon
/ freedos

Пікірлер: 72
@dr.shuppet5452
@dr.shuppet5452 3 жыл бұрын
I would say DOS is more like a library and bootloader than a kernel, because in real mode there's no separation between kernel space and user space - what is DOS is defined by the library functions.
@eekee6034
@eekee6034 Жыл бұрын
It's a common belief, but you're forgetting that organizing files and formatting disks are not jobs for a library or a bootloader. Besides, in the world DOS was created for, it was all an operating system needed to be.
@PaulFisher
@PaulFisher Жыл бұрын
​@@eekee6034even in that case, you can look at the filesystem as analogous to a SQLite database-an application has unfettered access to the entire thing, but DOS just turns the raw bytes into files, much as the SQLite library turns a string of bytes into tables and rows.
@ahG7na4
@ahG7na4 6 ай бұрын
I think the single most OS-y thing is IPC
@ropersonline
@ropersonline Жыл бұрын
The lowest-capacity of floppies supported by old DOS is 160KB. It might be useful for FreeDOS too to keep that in mind and not blow past that size for its minimum configuration. What's currently shown is a little over 110KB, which is still good.
@sbrazenor2
@sbrazenor2 Жыл бұрын
Who is actually using floppies that small anymore though?
@ropersonline
@ropersonline Жыл бұрын
@@sbrazenor2 Once you resort to _"who is actually using floppies that small anymore though",_ that becomes a slippery slope to _who is actually using DOS anymore though._ I think for a retrocomputing OS like FreeDOS, it's useful to try and maintain maximum compatibility with the entire DOS era. Otherwise you might just as well write your own operating system according to your own ideas - which is okay too, but TempleOS isn't DOS.
@_Thrackerzod
@_Thrackerzod Жыл бұрын
I don't think it's a huge issue. Even the original IBM PC supports 360k floppy drives and every one I've ever used had them. I think 160k drives are probably as rare as unicorns now; I've never seen one in person in my life.
@ropersonline
@ropersonline Жыл бұрын
​@@_Thrackerzod The only way you're not wrong is if we really get into semantics: It depends e.g. on how you define "the original IBM PC". It is true that the IBM 5150 _can_ be fitted with 360K floppy drives, aka DSDD drives, and most 5150s were. But you should google the product fact sheet IBM issued with the original IBM PC release announcement in 1981: It makes NO mention of DSDD drives. DSDD drives can support 320K or 360K diskettes depending on DOS version; the difference being support for either just 8 or 9 sectors/track, the latter requiring DOS v2.0 and up. Likewise, the earlier SSDD (singe-side, double density) drives could support 160K or 180K floppies (with DOS 1.x or 2.x+, respectively). _The only diskette drives IBM mentioned in their original announcement's product fact sheet are 160K._ I agree SSDD drives and 160K/180K floppies are now very rare. But cross that 160K threshold and abandon support for them, and you are no longer compatible with the entire DOS era, and at least in some sense no longer compatible with the actual original IBM PC.
@GroundhogGrafix
@GroundhogGrafix 3 жыл бұрын
I’m not a FreeDOS user, not yet anyway. I’m still running MS-DOS on my 486 but I find these videos interesting. Keep up the good work!
@freedosproject
@freedosproject 3 жыл бұрын
Thanks, will do!
@your-mom-irl
@your-mom-irl Жыл бұрын
Join the free side
@oso2k
@oso2k 3 жыл бұрын
You could probably mention that when deleting all those folders and binaries, that it is safe to do on a VM but maybe not a real PC or laptop. The only devices FreeDOS would be able to use are those that have built-in support (usually 360KB - 2.88MB floppies, MFM/(P)ATA/(E)IDE HDDs under 128GB, Serial Port, Parallel Port, keyboard, CGA/EGA/VGA) by FreeDOS and the machine's BIOS. Things like CD-ROM, DVD-ROM, sound cards, mice, etc. might not be functional after stripping FreeDOS down.
@freedosproject
@freedosproject 3 жыл бұрын
Yes, that's a good point. I completely wiped out my ability to use a mouse or other hardware when I was deleting everything. Maybe I'll do a followup video to talk about the "aftermath"
@nuk1964
@nuk1964 3 жыл бұрын
Wasn't there a story about how Linux came to be due to a "happy accident?" augustl.com/blog/2019/linus_and_linux_happy_accident/
@KallePihlajasaari
@KallePihlajasaari Жыл бұрын
@@freedosproject Perhaps you could create a minimum bootable FreeDOS memory card for a R-Pi that uses the remaining available space on the card for logging sound from a mic as a bug for the maximum amount of time to make a useful embedded application.
@XXDarkDrekXX
@XXDarkDrekXX Жыл бұрын
raspberry pi is not x86, so dos can’t run even then you can make linux so small it doesn’t make sense to spend the time in making it work
@KallePihlajasaari
@KallePihlajasaari Жыл бұрын
@@XXDarkDrekXX Good point. I was just throwing idea out there to make some use of the compact OS. I expect this is really only of use for legacy hardware or software.
@nasigoreng553
@nasigoreng553 3 жыл бұрын
my biggest goal is to run dos and be able to do some assembly programming
@freedosproject
@freedosproject 3 жыл бұрын
You should try the NASM assembler on FreeDOS. It's very nice.
@nasigoreng553
@nasigoreng553 3 жыл бұрын
@@freedosproject Are you sure that FreeDOS will run on an 8088 with 640kb of ram? I am currently restoring some old clunkers slowly and was hoping to be able to do this
@andrejrockshox
@andrejrockshox Жыл бұрын
can it work with HDDs larger than 4 TB? can it work on GPT partition layout?
@FloydMaxwell
@FloydMaxwell Жыл бұрын
My main program, to this day, is Microsoft Word 5.0 for DOS.
@freedosproject
@freedosproject Жыл бұрын
Word for DOS is a really good word processor! I didn't really use it at the time (I used WordPerfec, then Galaxy Write) but I was pleased to see how "modern" it felt when I went back to explore it: kzfaq.info/get/bejne/rq-IjdeFza_PdmQ.html
@Seacat17
@Seacat17 Жыл бұрын
FreeDOS+OpenGEM=potentially a great Windows+Linux+MacOS alternative.
@eekee6034
@eekee6034 Жыл бұрын
I've always found GEM a bit of a pain, personally. :) It had 2 improvements on the Atari ST with TOS 1.04, but only one of those has made it into OpenGEM. That one was the option to stop menus opening on mouse-over. The one which didn't make it was the ability to keep files selected when you scroll. In OpenGEM, as with earlier versions of GEM on the ST, selected files will be deselected as soon as you scroll. It's insane!
@Theineluctable_SOME_CANT
@Theineluctable_SOME_CANT Жыл бұрын
Lol....
@Seacat17
@Seacat17 Жыл бұрын
@@eekee6034 so sad I can't do programming... I would try my best to fix that.
@eekee6034
@eekee6034 Жыл бұрын
@@Seacat17 Yeah, I struggle with programming. Maybe one day I'll be able to fix it. :)
@Ghent2007
@Ghent2007 3 ай бұрын
i am here today!!!
@yash1152
@yash1152 Жыл бұрын
1:49 if its just a kernal running applications, then some version of it can be made to use UNIX like commands too right? i do not like (1) MS-DOS styled paths with backslashes and (2) commands having no help option.
@freedosproject
@freedosproject Жыл бұрын
You can definitely do that - and in fact, you can find the GNUish tools (most of these are ports of the GNU tools, or workalike versions of GNU tools) and install those. That would make this a minimal "Unix-like" system with the Unix commands. You're stuck with a few DOS things, like CONFIG.SYS for the kernel, and backslash for paths. But you can make it look as much like Unix as you like, by stripping it down to a kernel and CONFIG.SYS that points to whatever Unix-like shell you want to use.
@yash1152
@yash1152 Жыл бұрын
@@freedosproject awesome. thanks a lot for detailed info :)
@Meshamu
@Meshamu Жыл бұрын
@@freedosproject Does FreeDOS have a switchar command available? Could you then use hyphens for command switches, making the forward slash available for the directory separator?
@freedosproject
@freedosproject Жыл бұрын
@@Meshamu Yes, but unfortunately not every DOS command uses it. Even MS-DOS stopped using SWITCHAR
@anon_y_mousse
@anon_y_mousse Жыл бұрын
Have you seen Rob Landley's talk on a minimal Linux setup? I'd love to see dual booting on a floppy.
@freedosproject
@freedosproject Жыл бұрын
I haven't, I'll have to look it up. Thanks for the pointer.
@leandrotami
@leandrotami 3 ай бұрын
I just installed FreeDOS 1.3 on real hardware with floppy disks, but it seems the default install leaves very little conventional memory free (only 490KB) and mem/c shows this is because of system (takes 68k) and command (takes 69k). It would really of help any pointers about how to improve this since my msdos tricks don't work here.
@dannygjk
@dannygjk Жыл бұрын
Can I use freedos to run old DOS apps? (Win10 computer).
@freedosproject
@freedosproject Жыл бұрын
You can run FreeDOS in a virtual machine on Windows10 - and then yes, you can run classic DOS apps in FreeDOS.
@petevenuti7355
@petevenuti7355 Жыл бұрын
What is a good compiler if I wanted to experiment with it's source code?
@freedosproject
@freedosproject Жыл бұрын
Many FreeDOS programs are written in OpenWatcom (if you write in C) and NASM (if you write in Assembly). I'm also very fond of IA-16 GCC on FreeDOS (for C programming). I know some other folks like the classic Borland C Compiler or Borland TurboPascal Compiler - you can get TurboPascal for free (gratis) from their "museum" website.
@petevenuti7355
@petevenuti7355 Жыл бұрын
@@freedosproject lisp, basic, Cobol, theb later c++ no pascal or fortran though, I'll look into that version of GCC ,(//edit is that a version or compiler setting / build environment?*/), might be my best best, yeah? I do want to learn assembly though.. Thanks!
@freedosproject
@freedosproject Жыл бұрын
@@petevenuti7355 IA-16 GCC is a package that we include in FreeDOS 1.3. You can find it on the Bonus CD.
@anon_y_mousse
@anon_y_mousse Жыл бұрын
@@petevenuti7355 Go for it. If you restrict yourself to 16-bits it's really easy.
@kurusb7792
@kurusb7792 Жыл бұрын
Not the expectation raised. I thought he was going to cut the object module down, deleting support files... made a fool of us
@nasigoreng553
@nasigoreng553 3 жыл бұрын
I think you have stated it could run on an XT and I really need it to do that just so I can say I am not running anything microsoft on it
@kneekoo
@kneekoo 3 жыл бұрын
Wow, why can't edit open a 70kb file?
@nuk1964
@nuk1964 3 жыл бұрын
Long story short -- it's an artifact of the way memory is handled on the 8086 processor. Memory is addressed using segment:offset pairs, where the segment value (16 bits) selects a particular 64K "chunk" of memory and the offset (16 bits) specifies a location within that "chunk"
@freedosproject
@freedosproject 3 жыл бұрын
@@nuk1964 Came to make the same reply. Many DOS editors are limited to loading a 64k file.
@kneekoo
@kneekoo 3 жыл бұрын
Many, but not all editors? Can this be addressed in edit? And what editors can handle bigger files?
@nuk1964
@nuk1964 3 жыл бұрын
​@@kneekoo It generally depends on the "memory model" (i.e. how it manages the memory) that the program operates in. If the program is a .COM file, then it is generally limited to operating within only one segment -- thus limited to 64K for both the code and data. EXE files generally can operate with more than one segment, and will usually have separate segments for program code and data. The way to be able to handle more than 64K (total) in data, is to handle it in "chunks" -- for example holding each line of text in a separate segment (you still have the limit that no single line of text can exceed 64K of memory).
@nuk1964
@nuk1964 3 жыл бұрын
Of course, it might not help you much to have a text editor capable of handling text files larger than 64K if none of your other tools could handle files of that size as well.. There's also the other bit about alll this memory shuffling does come at a cost. Indeed there were text editors capable of handling larger files, but these programs tended to be a bit larger, took more memory, and the disc activity (especially if you're using floppy diskette) you will start noticing how slow things start getting.
@jeffwise8194
@jeffwise8194 2 жыл бұрын
I like these videos. But I am not ready to overwrite my OS with freedos. Freedos gives a warning. Your OS will be killed. Stop now. I would need another computer for that. Preferably a 90s thing.
@freedosproject
@freedosproject 2 жыл бұрын
These days, most people run FreeDOS in a virtual machine, not on real hardware. That actually makes things a lot easier, since you don't have the problems of running on more recent hardware (for example, DOS games from 1990s expected SoundBlaster sound cards .. which you don't have today). VirtualBox is a very popular virtual machine, and is available for Mac, Windows, and Linux. www.virtualbox.org/
@eekee6034
@eekee6034 Жыл бұрын
Yep, what @@freedosproject said. I run FreeDOS on real hardware; a 2007 Thinkpad laptop, and I miss sound support. The laptop's display is also not very good for DOS, scaling poorly and having entirely the wrong gamma, but I've now got an old VGA-capable TV which is much more suitable.
@vadnegru
@vadnegru Жыл бұрын
​@@eekee6034 i would say that you can emulate it even there. My 2006 PC had no trouble emulating XP.
@eekee6034
@eekee6034 Жыл бұрын
@@vadnegru Yes, I could, but then I'd have to install and maintain a complicated operating system for DOSBox to run on. ;)
@nasigoreng553
@nasigoreng553 3 жыл бұрын
hahahahaha
@desertfish74
@desertfish74 Жыл бұрын
Sambal bij
@MsDuketown
@MsDuketown 3 ай бұрын
Config.sys has line-numbers? Are these insert-points? 1? Seems to start with device... Yeah, DOS means disk operating system. So the kernel needs to understand the file system. Lol, Microsoft is known for tying. In this case Visual Basic, however Basic should be enough.
@freedosproject
@freedosproject 3 ай бұрын
Look at the menu options in this config.sys file. You have options 1-4. So a line that begins "1?" will run only during menu option 1 (but not 2, 3, or 4). A line that begins "12?" will run only during menu options 1 or 2 (but not 3 or 4). And a line that begins "123?" will run only during menu options 1, 2, or 3 (but not 4). When troubleshooting, you can also press F8 to single-step through config.sys. The lines that start with "!" will always run during this process.
PsychDOS is a text-mode desktop for DOS
17:56
FreeDOS
Рет қаралды 16 М.
Why DOS Was (and Is) a Thing
32:24
FreeDOS
Рет қаралды 168 М.
КАРМАНЧИК 2 СЕЗОН 5 СЕРИЯ
27:21
Inter Production
Рет қаралды 594 М.
Indian sharing by Secret Vlog #shorts
00:13
Secret Vlog
Рет қаралды 57 МЛН
Linux like original Unix
44:55
FreeDOS
Рет қаралды 299 М.
How to write a Solitaire game (DOS programming)
25:52
FreeDOS
Рет қаралды 8 М.
Floppy disk supplier says business is booming
1:37
Reuters
Рет қаралды 956 М.
I've never seen ANYTHING like this before... Temple OS
17:57
Linus Tech Tips
Рет қаралды 4,1 МЛН
Running Windows 1 on Windows 10!
5:06
Enderman
Рет қаралды 192 М.
AT&T Archives: Seeing the Digital Future (1961)
15:45
AT&T Tech Channel
Рет қаралды 528 М.
Running OpenGEM on FreeDOS 1.3
6:29
FreeDOS
Рет қаралды 16 М.
Meet a 12-year-old hacker and cyber security expert
5:01
CBS Mornings
Рет қаралды 7 МЛН
Installing TurboC++ on FreeDOS
9:14
FreeDOS
Рет қаралды 7 М.
FreeDOS 1.3 is it worth it for Retro DOS PC Gaming
10:56
PhilsComputerLab
Рет қаралды 59 М.
КАРМАНЧИК 2 СЕЗОН 5 СЕРИЯ
27:21
Inter Production
Рет қаралды 594 М.