$\require{cancel}$
Introduction Part 1
- This is based on chapter 1.1 of the book.
- And my knowledge:
- Which is heavily UNIX/Linux biased.
- An Operating System is a program that manages the computer's hardware.
- I like: Manages the resources of a computer.
- These include
- CPU/processors/cores/... time
- Memory
- Secondary storage
- I/O devices
- These are not applications for the most part
- An OS allows you to use an application.
- But I suppose, on an old game console, ...
- There is quite a diversity in operating systems,
- Smart watch to full blown multi user-computer systems.
- This means that there is really no "standard" operating system.
- I tend to be biased towards multi-user multi-processing operating systems.
- But I bet the single user (phone) operating system probably dominates these days.
- There is a great deal of diversity:
- The OS on my Amazon Echo Dot.
- The OS on my Truck.
- The OS on Mirkwood.
- The OS on a distributed supercomputer.
- Can you think of other environments?
- Think about:
- the scope of i/o devices each controls.
- the level of security each must provide
- the user interface provided
- Can you think of other items?
- Each of these is probably constructed in a radically different manner.
- However
- Most OS's consist of a program called a kernel.
- This is the PRIMARY program of the OS.
- It is responsible for all of the definitions above.
- It is the OS proper.
- There are some programs that work closely with the kernel called daemons
- This is not a proper definition, we will get that later.
- But I need it for the next points.
- Not a demon, but a "helpful spirit or guardian angel". (Evi Nemeth)
- In that sense, a program that is running that provides a service.
-
systemd
on a linux os provides utilities to start and stop system services such as the web server (httpd) or the fire wall software (firewalld).
- But, httpd, for example, might not be a system level application. (but that supports the idea that I am working on right now)
- By the way, in modern linux, some "daemons" are actually manifestations of the kernel.
- In addition there are usually a number of systems programs that interact with the kernel
- Some, like
systemctl
allow a user to interact with a portion of the kernel or a daemon.
- Some, like
vi
allow the user to perform low level system related tasks, like changing a configuration file.
- Finally, there are application programs.
- Word, power point, ...
- But where does the web browser fall?
- How about the web server?
- So we see that the definition of an OS is somewhat elusive
- So I will stick to the definition, a program that manages the resources of a computer.
- Or perhaps a set of programs used to manage the resources of a computer.