Czech version
logolink

< Back to the list of lessons

Operating Systems I

ostatni-sinContent of the lesson:

  • Definition
  • Functions of Operating Systems
  • Division of Operating Systems
  • Types of Operating Systems
  • Important Terms (booting, multitasking, core, process, thread, ...)
  • Types of OS (MS-DOS, Win, Linux, Unix, OS/2, Mac OS, Novell)

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.

tlačítko
Text user interface

tlačítko
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.

macos

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

  1. What is an operating system and how can it be used?
  2. Explain the term booting.
  3. What is the difference between a program and a process?
  4. Which types of operating systems do you know?
webdesign, xhtml, css, php - Mgr. Michal Mikláš