Definition
It is the basic software equipment of computer. It is simply a
program which allows you to control the whole computer. It creates an
interface between application (user) programs and hardware - it
organizes the access to data, launching applications, it controls their
progress, assigns hardware resources to them (time and space in memory
and processor, access to peripherals, data files etc.), offers services
to applications. It is loaded into operating memory after the computer
is launched from a special partition of hard drive, the Boot Sector,
where its files are physically saved - OS saves its files to Boot Sector
when being installed. If you copy OS from another computer using the
common way, computer will not find it and will not load the files into
memory so you will not be able to work with it. It is a set of programs
which controls actions of technical equipment inside a computer and it
allows you to run applications. The main task is to create a link
between technical equipment and applications. OS offers services for
applications and applications can control the technical equipment using
these services. Applications should not have direct access to the
technical equipment of computer.
Functions of Operating Systems
- Controls and manages access to resources of computing system
- division of processor time, operating memory, access to
external memories (hard drive, CD ROM, DVD), management of communication
with peripherals (keyboard, mouse, printer, scanner etc.).
- Organizes access to data - preventing an
unauthorized access.
- Controls task processing – the preparation,
planning and procedure to ensure maximal effect of the processing.
- Supports communication with users - executing
commands from users and launching applications, informing users about
problems or faults.
- The way how a user gives orders to OS and how he gets results about
the operations is being called a User Interface.
- There are generally two forms of user interfaces - text user
interface, for example MS-DOS where user gives orders using so called
command line, graphical user interface (GUI) – the most of current
operating systems, the ability to write orders to command line is
usually available.
Text user interface
Graphical user interface
- Supports security and reliability of computing systems - using
several levels of access rights etc.
Division of Operating Systems - According to
- single-user/multi-user
- single-task/multi-task
- non-network/network
- levels of sharing CPU
- size of HW
- number of processors
- amount of distribution
- functions
Types of Operating Systems
- Single-user and single-task - no resources to protect files and
drives, do not allow to run more than one program simultaneously, for
example: MS-DOS
- Single-user multi-task - multitasking, possibility to run more
programs at once, cooperative multitasking, preemptive multitasking,
for example: Windows 9x, Me, Windows XP
- Multi-user multi-task - ability to process requests of multiple
users logged into the system, for example: Windows NT, Windows 2000, Unix, Linux, Windows XP
- Real-time systems - especially for controlling technological
processes.
Important Terms (booting, multitasking, core, process, thread, ...)
Multitasking
- is the ability to process multiple tasks simultaneously, which means
that more processes can run simultaneously. For example I browse a
website and I want to listen to music. These two applications run
fictively together. In real the processor quickly changes running
processes so the user thinks that they run together. The switching
between processes is being called as changing context.
- cooperative multitasking - Single processes change
the management between each other, it is very vulnerable. In this case
it depends on every task if it can give the management back to the
operating system to be able to run another task. A big disadvantage is
that an error will not send the management back so processing of all
other tasks is stopped.
- preemptive multitasking - Sources are divided by
the operating system, crash of one process does not mean terminating the
whole system. The operating system terminates the running processes in
regular intervals (100 to 1000 times per second) and checks the tasks
which request access to the processor. Then it divides resources
according to the priority. Because of this, another task can get
resources if it has higher priority.
Driver
- This is software which allows the operating system to work with a
hardware - communicate with it and control it. Many drivers are
integrated directly into the operating system, or they are added with
updates. Because of this you often do not need drivers which are on CD
or DVD when connecting a printer. In this case the operating system
might find a suitable driver and might install it automatically. In case
a driver is not found, it allows you to update the system of to use a
driver from CD or DVD. In case you use the CD or DVD, you usually can
install additional software which is designed to work with such a
printer.
Booting
- This means loading the operating system into operating memory RAM
after a computer is launched. It is a sequence of tasks which launch the
system correctly. One of them is the check of hardware functionality,
activation of connected devices and then also a part of operating system
is loaded into RAM. Then the control over the whole computer is given to
the launched operating system.
Process
- launched and processed computer program
- it is placed in operating memory as a set of machine instructions
which are executed by the processor in a given order
- it contains not only the code of running program but also
dynamically changing data which are being processed
- one program can run using multiple processes with different data
(for example multiple times launched web browser which displays
different websites)
- the management of processes is done by the operating system which
runs them separately, gives them system resources of the computer and
allows users to manage processes (launch, terminate them etc.).
Thread
- Thread means a part of process which decreases the demands on
operating system when changing processes on a processor. A process can
be divided to threads which make the communication simple - a thread
does not have its own memory, it is shared with other threads running at
the same process. Threads can access the same data together. This can
however bring a risk of race condition. It also depends on the fact
whether the operating system supports threads or not. If threads are not
supported, each process has only one thread.
- Advantages: a program which computes a specific calculation can also
display result as a graph. The calculation is very demanding and needs
several seconds to be done. In case this application was only
single-process and this process had only one thread which would compute
everything gradually (a set of instructions), then the program would
freeze for a few seconds until the calculation would be done. On the top
of that the thread does not have to catch pressed keys and mouse clicks.
In case that one thread will compute the result and another one will
draw a graph, the drawing process can be slow (threads are changed so
the processor computes for a while and then draws for a while) but the
program will run and the user will see it (in the first variant a user
would not see anything).
- We can divide threads according to their management in operating
systems: user level threads - the management is done by so called thread
library on the level of application process, the core of operating
system does not know about it, - core level threads (KLT) - the
management is done by the OS
Types of OS (MS-DOS, Win, Linux, Unix, OS/2, Mac OS, Novell)
MS-DOS
- 1981 – Microsoft developed the first OS for PC (for IBM)
- DOS (disk operating system)
- text operating system (commands were entered as words)
- only one program could run at one moment - each program had its own
controls, there were several extensions (Norton Commander, M602), the first
graphical extensions were created - Windows
- it helped to spread the personal computers from IBM for which it was
designed
Windows
Operating systems from Microsoft are the most spread ones on personal
computers. The name comes from the way of working because the managements is
based on working with windows. After DOS, Windows offered a way to use multiple
programs at once, so called multitasking. Several extensions were developed, for
example swapping (extending operating memory using the hard drive). At first
Windows ran as an extension for DOS, the last one which used DOS was Windows ME
(it was an improved version of Windows 98), then it was used as a separated
operating system.
- 1985 – Windows 1.0
- 1987 – Windows 2.0
- 1990 – Windows 3.0
- 1992 – Windows 3.1
- 1992 – Windows 3.1 for Workgroups - support for the peer-to-peer network
- 1993 – Windows 3.11 for Workgroups, resources sharing, MS Mail
- 1993 – Windows NT 3.1, version for Workstations (Workstation) and Servers
(Server)
- 1993 – Windows NT 3.5 (then 3.51) - long file names
- 1995 – Windows 95 - significant change of graphical interface, support for
plug-and-play
- 1996 – Windows NT 4.0 - a version for company computers
- 1998 – Windows 98 - a version for personal computers, support for USB, DVD
directly in the OS
- 1999 – Windows 98 SE - several improvements, reliability
- 2000 – Windows ME - last from the row 95 – 98 – ME, unstable
- 2000 – Windows 2000 (NT 5.0) - connection of the "personal" and "company"
versions
- 2001 – Windows XP - safer, improved multimedia, removing errors
- 2003 – Windows Server 2003
- 2007 – Windows Vista - significant change of graphical interface, new way of
security
- 2009 – Windows 7
Linux
- More accurately GNU/Linux is an operating system which consists of a core
(author is Linus Torvalds) and basic libraries and tools which come from the
project GNU (founded by Richard Stallman). This OS is designed for several types
of computers. Its main advantage is that it is free. The source codes are
available for everyone (Open Source). You can download it for free to your
computer and test it by booting from CD, so called Live CD. However, you have to
enclose the source codes again.
- There are several variants, so called distributions. You can download them
for free and install them into your computer or try them from CD, so called Live
CD.
- It is an operating system which is based on Unix, but it does not have any
identical line of the source code.
- It supports parallel multitasking and is multi-user.
Mac OS (Macintosh Operating System)
- This is an operating system designed for computers Apple Macintosh. It is
interesting that this system cannot be installed on a common PC, it is designed
for hardware from Apple only. However, you can illegally run Mac OS on several
PCs by editing the source code.
- The current operating system is called Mac OS X. It is a replacement for Mac
OS which combines several technologies. It uses the Aqua graphical interface.
Mobile phones Apple iPhone use an adjusted version of Mac OS X as well as the
pocket player iPod touch.
Environmental box
Konec environmentálního okénka.
OS/2
- operating system developed by IBM
- it was practical but not very spread
- it is interesting that Microsoft participated in the development of this OS
but then created its own system Windows 3.0 and IBM ended the development.
Novell NetWare
- several network operating systems
Questions
- What is an operating system and how can it be used?
- Explain the term booting.
- What is the difference between a program and a process?
- Which types of operating systems do you know?