What is an OS: Difference between revisions
W81054ch [PHRhYmxlIGNsYXNzPSJ0d3BvcHVwIj48dHI+PHRkIGNsYXNzPSJ0d3BvcHVwLWVudHJ5dGl0bGUiPkdyb3Vwczo8L3RkPjx0ZD51c2VyPGJyIC8+YnVyZWF1Y3JhdDxiciAvPmludGVyZmFjZS1hZG1pbjxiciAvPnN5c29wPGJyIC8+PC90ZD48L3RyPjwvdGFibGU+] (talk | contribs) m (1 revision imported) |
D73083ds [PHRhYmxlIGNsYXNzPSJ0d3BvcHVwIj48dHI+PHRkIGNsYXNzPSJ0d3BvcHVwLWVudHJ5dGl0bGUiPkdyb3Vwczo8L3RkPjx0ZD51c2VyPGJyIC8+PC90ZD48L3RyPjwvdGFibGU+] (talk | contribs) m (This example is so dated that the article is no longer alive!) |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 7: | Line 7: | ||
In a ‘primitive’, single-tasking system this may provide just an [https://en.wikipedia.org/wiki/Abstraction_layer <em>abstraction layer</em>], allowing the same applications to run on different hardware. | In a ‘primitive’, single-tasking system this may provide just an [https://en.wikipedia.org/wiki/Abstraction_layer <em>abstraction layer</em>], allowing the same applications to run on different hardware. | ||
In more complex systems – the type of systems this | In more complex systems – the type of systems this course unit primarily concentrates on – it provides more services, allowing multiple applications to run ‘simultaneously’, often without knowledge of each other’s presence. This requires a degree of | ||
[[Resources|resource]] management. | [[Resources|resource]] management. | ||
Line 22: | Line 22: | ||
frequently desirable to share the expensive computer time amongst many users simultaneously. This introduced the need for further security measures, protecting users from each other whilst allowing sharing when appropriate. | frequently desirable to share the expensive computer time amongst many users simultaneously. This introduced the need for further security measures, protecting users from each other whilst allowing sharing when appropriate. | ||
These days | These days it is more likely that one person is shared by many computers; however this is not always the case and multi-user features remain in most computers - especially since that most organizations rely heavily on the computer hardware being interchangeable, while a user moves their account seamlessly between any number of computers. | ||
<!-- | <!-- TODO?? *** MORE subheadings/classes?? *** | ||
{distributed, embedded (real time?)} | {distributed, embedded (real time?)} | ||
Wikipedia has a much longer list of different types of Operating Systems, but is it relevant enough? | |||
--> | |||
== Example operating systems == | == Example operating systems == | ||
Line 34: | Line 36: | ||
*[https://en.wikipedia.org/wiki/Unix <strong>Unix</strong>] (and similar) will provide the majority of the examples here. This family includes Linux, Android, iOS … Unix-like systems tend to dominate the ‘server’ market, and (of course) hand-held machines. | *[https://en.wikipedia.org/wiki/Unix <strong>Unix</strong>] (and similar) will provide the majority of the examples here. This family includes Linux, Android, iOS … Unix-like systems tend to dominate the ‘server’ market, and (of course) hand-held machines. | ||
*<strong>Windows</strong> is another family of operating systems, many superficially similar but different ‘under the hood’. Windows has been dominant in ‘desktop’ computers for several decades. | *<strong>Windows</strong> is another family of operating systems, many superficially similar but different ‘under the hood’. Windows has been dominant in ‘desktop’ computers for several decades. | ||
*Embedded/real-time systems tend to be more specialist (and less visible). Many embedded devices use Linux, Windows etc. ([ | *Embedded/real-time systems tend to be more specialist (and less visible). Many embedded devices use Linux, Windows etc. ([https://web.archive.org/web/20090124144858/royal.pingdom.com/2008/10/09/blue-screen-of-death-in-unexpected-locations/ here is some evidence] – now a bit dated).<br /> For running the telephone network or flying aeroplanes, more specialist operating systems may be used, usually requiring less resource (memory etc.) offering real-time responses and with better security! | ||
---- | ---- |
Latest revision as of 12:30, 8 May 2023
Depends on | Introduction to Operating Systems |
---|
An operating system is a layer of software which lies between the application(s) program(s) and the hardware.
In a ‘primitive’, single-tasking system this may provide just an abstraction layer, allowing the same applications to run on different hardware.
In more complex systems – the type of systems this course unit primarily concentrates on – it provides more services, allowing multiple applications to run ‘simultaneously’, often without knowledge of each other’s presence. This requires a degree of resource management.
Protection
An operating system typically offers some added security to a system. At its simplest, this might be that difficult-to-write code – such as that needed to communicate with various hardware peripherals – is already provided. More sophisticated systems are able to prevent unauthorised access.
Multi-tasking
Multi-tasking systems are those which can run multiple, non-interacting applications simultaneously. It is possible for a user to do this – e.g. as multithreading – but an O.S. can go further. In particular it is able to schedule the software in conjunction with the hardware to gain better efficiency.
Multi-user
A simple multi-tasking system may still ‘belong’ to a single user. Historically, once multi-tasking was common it was frequently desirable to share the expensive computer time amongst many users simultaneously. This introduced the need for further security measures, protecting users from each other whilst allowing sharing when appropriate.
These days it is more likely that one person is shared by many computers; however this is not always the case and multi-user features remain in most computers - especially since that most organizations rely heavily on the computer hardware being interchangeable, while a user moves their account seamlessly between any number of computers.
Example operating systems
There have been many operating systems. Quite a lot are now obsolete, although some of their concepts have been inherited; some apply to specialist areas.
We are not going to study any particular example in specific detail, but some deserve particular mention:
- Unix (and similar) will provide the majority of the examples here. This family includes Linux, Android, iOS … Unix-like systems tend to dominate the ‘server’ market, and (of course) hand-held machines.
- Windows is another family of operating systems, many superficially similar but different ‘under the hood’. Windows has been dominant in ‘desktop’ computers for several decades.
- Embedded/real-time systems tend to be more specialist (and less visible). Many embedded devices use Linux, Windows etc. (here is some evidence – now a bit dated).
For running the telephone network or flying aeroplanes, more specialist operating systems may be used, usually requiring less resource (memory etc.) offering real-time responses and with better security!