4 ms·
>Technically, a program that runs without an OS, is an OS. It is not. A program that runs without an OS just doesn't need the OS provided services but instead
by emilfihlman 8y ago
>Technically, a program that runs without an OS, is an OS.
It is not. A program that runs without an OS just doesn't need the OS provided services but instead manages everything itself.
A perfectly valid program might be:
#include <avr/io.h>
int main(void)
{
DDRB=255;
while(1)
{
PORTB++;
}
}
- vectorEQ 8y agoan OS is so much more than an application, amen. just a simple google would help: the low-level software that supports a computer's basic functions, such as scheduling tasks and controlling peripherals. this poor author of the post. >.> and then to think critisism gets a downvote :'D.. must be some angry kids mob who found where on memory mbr is put from some youtube1337hack0r.. The accepted answer was correct: "You place your binary code to a place where processor looks for after rebooting " That was a good anwer to the question. the rest is just filler nonsense.
- blitmap 8y agoIf it's managing resources itself, how is it not an OS? What is art?
- toxik 8y agoPrograms manage resources. Operating systems explicitly manage resources for the benefit of other programs.
- rhacker 8y agoI think that is the key notion. https://en.wikipedia.org/wiki/Operating_system https://en.wikipedia.org/wiki/Operating_system Handling resources isn't the definition of an OS. Also asking "what is art?" is not the same as asking "what is an operating system?" Art covers just about all human activity, the definition is extremely wide. I wouldn't say an OS has a definition that wide.
- sandworm101 8y ago>> Handling resources isn't the definition of an OS. Well, it certainly is part of the definition of a useful OS. A car doesn't have to be able to turn right. It is still a car, just not a useful one.
- Retric 8y agoEarly operating systems only had one program run at a time.
- stcredzero 8y agoWhat if that one program is a Virtual Machine interpreting bytecodes for a language like Lisp or Smalltalk? From one point of view, only one program is running on the hardware, however many Smalltalk 'Processes' (really, cooperative green threads) could be running simultaneously. This was once the case for Smalltalk. It may have been the case for Lisp machines.
- Stratoscope 8y agoProviding services to other programs is indeed the key notion. I learned to program on an SDS Sigma 5. [1] The machine booted by reading the first card in the reader and executing the instructions punched on that card. The card could be a boot loader to start the BTM (Batch Timesharing Monitor) operating system from disk. Or the card could be a little program all of its own. A particularly useful one-card program was a card deck printer. You would put it at the front of the deck and boot the machine. This card had a simple loop to read the next card into memory, then print that line on the printer, and repeat until the card reader was empty. (One of my first optimization adventures was modifying the code to be double-buffered: read the next card into memory while the previous card is printing. Twice as fast!) That card certainly handled resources, but no one called it an OS. It didn't manage and provide services to other programs, it was just a one card program. Another popular one card program was the bird chirp card. It pulsed the front panel speaker to make it sound like birds were chirping. We didn't think of that as an operating system either. :-) [1] https://en.wikipedia.org/wiki/SDS_Sigma_series https://en.wikipedia.org/wiki/SDS_Sigma_series
- deleted 8y ago[deleted]
- laythea 8y agoOperating system program starts user program. User program does not start operating system program. Job done.
- InclinedPlane 8y agoRunning programs without an OS used to be the norm not the exception. An OS has at minimum the ability to load and run other programs, additionally it may provide many other functions such as process separation, filesystem access, multi-tasking, device drivers, APIs, and so forth. If you look at the progression of operating systems over time you can see them becoming more and more sophisticated. Back in the early '90s, for example, if you were playing a DOS based video game each game would have to have its own low level drivers for things like video and audio cards. Today the OS handles that and the games just use an API (like DirectX or OpenGL).
- lostgame 8y agoI think API’s, and the ability to run different applications, usually within the OS, are the major distinction here. I think it boils down to the concept that an OS should serve as a middle layer of abstraction between a program and hardware, and provide some sort of meaningful way to make that stream of communication more simple and useable for humans.
- hartator 8y agoYour valid program is still a system that operates your hardware directly. So, still an OS?
- Skunkleton 8y agoThis is a "bare metal" program, not an operating system.
- lostgame 8y agoAn OS, by general definition, usually contains the ability to launch applications developed for it, using the high-level API’s the OS provides to greatly simplify low-level hardware functionality, such as playing sound or displaying images. A program, by definition, is a running system which executes specific instruction sets, whether this is from a low-level, no-OS setup, such as an NES, or a MacOS program which makes extensive use of Core Image, Core Animation, Core Audio, et cetera. These are both programs. But only one of them actually runs in an OS.
- drb91 8y agoWhy does that distinction matter here? Besides, many OSes in the past were more like libraries than active resource managers.
- naasking 8y agoI don't think they have to be active, but an OS should in principle own hardware resources and merely grant access to other programs by some means. Just importing a library that directly accesses hardware wouldn't qualify as an OS. There has to be some distinction between the subset of all possible programs that qualify as "operating systems", otherwise why have two terms?
- stcredzero 8y agoNot sure if you still can, but you used to be able to find 4 hooks for primitives in early Smalltalk images. 1 for lifting the hard drive head. 1 for setting down the hard drive head. 1 for moving it out one cylinder. 1 for moving it in one cylinder. On my dad's old Apple ][+ 48k, I used the same REPL to get the CATALOG of what was on the floppy disk and to program in BASIC. What's the line between OS and a REPL?