0% found this document useful (0 votes)
3 views

Cls1_Introduction_1

The document outlines a course on Operating Systems, detailing the syllabus, course outcomes, evaluation process, and delivery plan, which includes theory and programming in Linux. It covers the history of operating systems, major developments, and the structure and services of an OS, emphasizing user interface, resource management, and system calls. Additionally, it discusses kernel architecture and the differences between traditional and microkernel designs.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Cls1_Introduction_1

The document outlines a course on Operating Systems, detailing the syllabus, course outcomes, evaluation process, and delivery plan, which includes theory and programming in Linux. It covers the history of operating systems, major developments, and the structure and services of an OS, emphasizing user interface, resource management, and system calls. Additionally, it discusses kernel architecture and the differences between traditional and microkernel designs.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

22 AIE202 Operating Systems

Raghu T V

email - [email protected]
Syllabus

2
Course Outcomes

3
Text book and References

4
Evaluation process

5
Course delivery plan

- A mix of theory and associated programming.


- Please install Linux on your laptops. .
- I prefer ubuntu over other distributions.
-Finish it by next monday.
- We shall be learning shell scripting, implementing few
methods in C and trying out XOS.
- XOS is an experimental operating system created to
practice the concepts developed by NIT Calicut.

6
Things included

- Basics of process.
- Process structure.
-How computer selects each process .
- Resource allocations
- Managing memory
- Managing files.
- Managing hardware.

7
Things not included

We are not building an OS from scratch.


Finer details of device drivers.
Details of OS security.

8
History of Operating systems

- Early systems had proprietary Operating systems.


- The concept of interoperability was nearly zero.
- Those early systems were created to solve specific
computational task.
-Break a cipher code.
-Calculate the attack parameters for the armed forces.

- A lot of work and time was required for initial setup .

9
Major historical developments.

1945 - > ENIAC [ Electronic Numerical Integrator and


Computer] . Programming instructions were meant to
adjust the switches and ports.
1952 -> IBM 701 system . Featured modular
construction and used plastic magnetic tape storage.
1963 Burroughs Master Control Program -> Designed
for the B5000 system. Written in high level language.

10
1964 ->IBM 360 .Developed to cater a series of
computers developed by IBM.
1969 -> UNIX .Developed as a time sharing system with
filesystem architecture,access permissions etc.
1973 -> UNIX 4th Edition. Mostly written in C.Could be
easly ported to other machines.
1981 -> MS DOS was launched by Microsoft.
1984 -> Apple macintosh . Featured a graphical
interface which could be accessed by using a mouse.

11
1990 -> Windows 3.0. Came out with a graphical interface.
1993 -> Linux .UNIX was free only for educational
institutions.Linux came up as a free alternative.
1993 -2007 -> Many versions of Windows and Linux.Major
improvements include support for multitasking,hardware
support,Networking support.
2007 ->iOS .The era of touch user interface.
2008 -> Android. Based on core concepts of Linux.
And the saga continues....

12
Development trends

-Earlier systems were single user,single program


systems designed for specific hardware.
-The programs had to be written in hardware specific
languages.
-Modern OS is multi-user,multitasking systems which
could run on variety of different hardware.
-The programs are written in higher level languages
and are portable from one system to another.
-Networking among computers is also made possible.

13
Operating Sytem -General view

-How do you benefit from an Operating System ??


-All of us are using at least one OS.
-Think of the major functionalities.
-The most obvious function is the User Interface.
- Does it help in loading up the application ??
- Does it help in managing the data that you store ???
- Is it playing a role in connectivity ??
- Is it safeguarding your privacy and security ??

14
A formal defenition among many..

An operating system is a program that manages a computer’s


hardware.

Operating system is a program that acts as an intermediary between a


user of a computer and the computer hardware.

Operating system goals:


- Execute user programs and make solving user problems easier.

- Make the computer system convenient to use.

- Use the computer hardware in an efficient manner.

15
Computer System Structure

In an Operating System course perspective the computer system


can be divided into four categories.
1.Hardware.
-Includes CPU,Memory,Input/output etc.

2.Operating System.
-Controls and coordinates the use of hardware by applications and users.

3.Application Programs.
-Use system resources to solve tasks.

4.Users.
-Use the applications or interfaces

16
Abstract view of the components of a
computer system

17
Where Does the OS fit in

18
19
Operating system services

 Operating systems provide an environment for execution of programs and services


to programs and users
 One set of operating-system services provides functions that are helpful to the user:
 User interface - Almost all operating systems have a user interface (UI).
 Varies between Command-Line (CLI), Graphics User Interface (GUI),
Batch
 Program execution - The system must be able to load a program into memory
and to run that program, end execution, either normally or abnormally (indicating
error)
 I/O operations - A running program may require I/O, which may involve a file or
an I/O device
 File-system manipulation - The file system is of particular interest. Programs
need to read and write files and directories, create and delete them, search
them, list file Information, permission management.

20
Contd..
 Communications – Processes may exchange information, on the same
computer or between computers over a network
 Communications may be via shared memory or through message
passing (packets moved by the OS)
 Error detection – OS needs to be constantly aware of possible errors
 May occur in the CPU and memory hardware, in I/O devices, in user
program
 For each type of error, OS should take the appropriate action to
ensure correct and consistent computing
 Debugging facilities can greatly enhance the user’s and
programmer’s abilities to efficiently use the system

21
Contd..
 Another set of OS functions exists for ensuring the efficient operation of the system
itself via resource sharing
 Resource allocation - When multiple users or multiple jobs running concurrently,
resources must be allocated to each of them
 Many types of resources - Some (such as CPU cycles, main memory, and file
storage) may have special allocation code, others (such as I/O devices) may
have general request and release code
 Accounting - To keep track of which users use how much and what kinds of
computer resources
 Protection and security - The owners of information stored in a multiuser or
networked computer system may want to control use of that information, concurrent
processes should not interfere with each other
 Protection involves ensuring that all access to system resources is controlled
 Security of the system from outsiders requires user authentication, extends to
defending external I/O devices from invalid access attempts
 If a system is to be protected and secure, precautions must be instituted
throughout it. A chain is only as strong as its weakest link.

22
A toplevel view of OS services

23
OS and hardware

- Operating systems controls how hardware resources are


accessed by user through user applications.
- Common user interfaces also could be visualized as a user
application.
- In order to have control over hardware management ,every OS
specifies a set of system calls.
- System calls are instructions which are privileged to access
hardware resources
- User applications has to make use of system calls to interact with
the hardware.

24
System Calls
 Programming interface to the services provided by the OS

 Typically written in a high-level language (C or C++)

 Mostly accessed by programs via a high-level Application


Program Interface (API) rather than direct system call use.
 Programming languages provide Wrapper functions which will
access these API.
The names of those API and Wrapper functions resemble the
actual system call.

25
26
On calling a system call

- The applications invoke the system call by using the API


interface.
- The system switches from user mode to kernel mode to
perform the task.
-Kernel mode is a privilege escalation mode.
-Only system calls and other OS internals are allowed
switching to kernel mode.

27
Dual mode operation.

-Inorder to enable kernel mode (Protected Mode) operation hardware


support is required.
- A single bit value change can indicate the mode.
- A bit value (0) indicate Kernel mode and (1 )indicate the user mode.
-The change to kernel mode is done by a Software Interrupt /Trap

28
Some system calls in Windows and Linux

29
Sample execution sequence

30
Interrupt

-Interrupts are events that alters the normal flow of


execution.
-Interrupts are generated by hardware and also by
software applications.
- There are maskable and nonmaskable interrupts .
-Interrupts are processed by Interrupt Handlers.
- Specific interrupt handlers process the corresponding
interrupts.

31
KERNEL ?????

-Kernel is that primary interface with hardware devices.


-OS Kernel could be visualized as a set of code which helps
other components in hardware interaction.
-Kernel is also the first set of instructions loaded when the OS
starts up.

32
UNIX Architecture

-UNIX had a modular structure.

33
Microkernel architecture

-In UNIX style layered architecture,majority of the crucial


functionalities are implemented as a part of the OS space.
-But in microkernel architecture major functionalities are
implemented as a part of user space.
- Only the basic functionalities are implemented as
part of OS space.
-The advantage is the limited size of the OS .
-Ex: minix3 OS -->http://www.minix3.org/

34

You might also like