Introduction to Operating Systems and Their Functions

0.0(0)
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/351

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

352 Terms

1
New cards

Operating System (O/S)

- Programs that integrate hardware resources of computer

- Makes resources available to user efficiently

2
New cards

Efficiency in O/S is measured through...?

1. Functionality

2. Performance: Time and Utilization

3. Convenience and Cost

3
New cards

OS is a layer of _______ between ___ and _____

layer of abstraction between the hardware and software

4
New cards

OS Role

1. Resource Coordinator

2. Virtual machine

3. Reactive system

5
New cards

Operating Systems Ease the Pain

Performs interface task w/ hardware (file operations, memory paging) which the user does if OS didn't exist

6
New cards

The OS makes visible the _______ component of the system

virtual

7
New cards

The O/S does the ff. except...

A. Middleman between hardware and software

B. Resource divider

C. Reactive system

D. Being a real machine

D. Being a real machine

It's a virtual machine

8
New cards

Multiuser Capability

Multiple users can access resources at the same time

<p>Multiple users can access resources at the same time</p>
9
New cards

Interaction of Programs and Other Apps

OS allows program interaction with different applications

10
New cards

Why are Operating Systems Difficult to Create and Maintain?

1. Size

2. Lifetime

3. Complexity

4. Multitasking

5. General purpose

11
New cards

OS Difficult to Create and Maintain: Size

- Too big for one person

- Current systems have so many lines of code and involve 10-100 man years to build

12
New cards

OS Difficult to Create and Maintain: Lifetime

- OS remain longer than the makers

- Code is written and rewritten so original intent is forgotten

13
New cards

OS Difficult to Create and Maintain: Complexity

System do difficult things:

- deal w/ ugly I/O devices

- multiplexing / juggling act

- handle errors

14
New cards

OS Difficult to Create and Maintain: Multitasking

Do several tasks at once

15
New cards

Early 1950's, Mainframes Rule

- Early systems

- No O/S

- Programmer = operator

- Large machines run from a console

- Programs loaded via switches & card readers

16
New cards

What were the first real OS?

Simple batch systems

17
New cards

Batch Processing

- O/S was a program stored in one part of memory

- Loads a job from card reader into memory

- Transfers control from one job to the next

18
New cards

Problem in Batch Processing

- Setup time

- Operators hired, ran related jobs together (very labor intensive)

19
New cards

Offline Processing

- Tape contains code

- Tape is read but don't know what output tape says

- Only see output after tape is read

20
New cards

What does spool stand for?

Simultaneous Peripheral Operation On-Line

21
New cards

Spooling

- Jobs can be read ahead onto disk

- Read line by line

22
New cards

Multiprogrammed Systems

- Increased utilization

- Keeps several jobs in memory simultaneously

- Needs CPU scheduling

- Analogy: lawyer working on several cases

23
New cards

Multiprogrammed Systems Overlapping of jobs

I/O processing of a job overlaps w/ computation of another job

24
New cards

Timesharing System optimizes ____?

Reponse Time

All computers have same efficiency and throughput so processor memory is divided among computers

25
New cards

Timesharing System is based on ____?

Time-slicing

Dividing CPU time among multiple processes

26
New cards

Timesharing System

Allows multiple users to interact with a single processor

27
New cards

Desktop Systems

- First appeared in 1970

- Popularly known as personal computers (PCs)

- Advancement in hardware allowed downsizing from expensive mainframes

28
New cards

Multiprocessor Systems is also known as ___?

Parallel systems

Tightly-coupled systems

29
New cards

Multiprocessor Systems

  • Systems with multiple CPUs working together

  • Can be Asymmetric or Symmetric

30
New cards

Advantages of Multiprocessor Systems

1. Increased throughput (more CPUs = more work in less time)

2. Economy of scale (saves money, CPUs share peripherals)

3. Increased reliability (redundancy and fault tolerance)

31
New cards

Asymmetric Multiprocessing

each CPU has specific role (usually master-slave)

32
New cards

Symmetric Multiprocessing (SMP)

All CPUs do same thing

<p>All CPUs do same thing</p>
33
New cards

Multicore System

Instead of multiple processors in 1 set up, processors are divided into cores (each with own cache line) for tasks

<p>Instead of multiple processors in 1 set up, <strong><u>processors are divided into cores</u></strong> <strong><em>(each with own cache line)</em></strong> for tasks</p>
34
New cards

Distributed (Loosely-Coupled) Systems

CPUs assigned specific roles in processing.

35
New cards

What does Distributed (Loosely-Coupled) Systems allow?

- Geographically-distributed computing resources

- Communications between parts of a job or diff. jobs

- Resource sharing

36
New cards

Client-Server Systems

Architecture where clients request services from servers

<p>Architecture where <strong><u>clients request services from servers</u></strong></p>
37
New cards

Peer-to-Peer Systems

Decentralized network where each node shares resources

<p>Decentralized network where <strong><u>each node shares resources</u></strong></p>
38
New cards

What kind of architecture is Distributed (Loosely-Coupled) Systems?

Peer-to-peer systems

39
New cards

Clustered Systems

- Multiple CPUs linked and collab to perform tasks

- Shared storage (data) via LAN

<p>- Multiple <strong><u>CPUs linked</u></strong> and <strong><u>collab </u></strong>to perform tasks</p><p>- <strong><u>Shared storage</u></strong> (data) via <strong><u>LAN</u></strong></p>
40
New cards

Real Time Systems

Systems responding to physical events within fixed time

41
New cards

Applications for Real Time Systems

  • subway systems

  • flight-control

  • factories

  • power plants

42
New cards

Problems with Real Time Systems

Need to schedule activities to meet time constraints

43
New cards

Hard Real Time System

Critical deadlines for controlling devices

44
New cards

Soft Real Time System

Important deadlines, less critical than hard systems.

45
New cards

Handheld Systems

PDAs and cellphones

46
New cards

Problems with Handheld Systems

1. Limited main memory

2. Processor speed

3. Small display screens

47
New cards

General Structure of an O/S: 2 types of programs

1. Resident

2. Non-resident

48
New cards

Resident Programs

  • Programs which are critical to the operation of the system

  • Embedded in system

  • Allow PC to work

49
New cards

Non-Resident Programs

  • Programs loaded into memory as needed

  • Located in disks or bulky storage devices

50
New cards

Kernel

  • Computer program in core of computer OS

  • Complete control over everything in the system

  • Prevents and handles conflicts between processes

<ul><li><p>Computer program in core of computer OS</p></li><li><p>Complete <strong><u>control over everything in the system</u></strong></p></li><li><p>Prevents and handles conflicts between processes</p></li></ul><p></p>
51
New cards

Examples of Kernel that are memory resident components

  1. Command interface shell

    eg. ver, dir, date, time: COMMAND.COM

  2. I/O routines that control I/O devices

    e.g. BIOS: IO.SYS

  3. File Management System

    e.g. MSDOS.SYS

52
New cards

Examples of Kernel that are non-resident components

  • FORMAT, FDISK

  • Stuff you plug to OS

53
New cards

Dual-Mode Operation

System operates in user and kernel modes

54
New cards

User Mode

System executes task for user

55
New cards

Kernel Mode

- System executes task for OS

- Executes privileged instructions

- Default at boot time

56
New cards

Privileged Instructions

Special instructions only executable in kernel mode

57
New cards

Bit changes depending on the mode

0 = go to kernel

1 = returns to user

58
New cards

If you request an O/S service, which is correct?

A. User to Kernel

B. Kernel to User

A. User to Kernel

59
New cards

8 OS Components

1. Process management

2. Main memory management

3. File management

4. I/O system management

5. Secondary storage management

6. Networking

7. Protection System

8. Command Interpreter System

60
New cards

Process management

- create

- delete

- suspend

- resume processes

- synchronize communications

- handle deadlocks

- possible support threads

61
New cards

Main Memory Management

  • Tracks memory use

  • Allocates / deallocates memory

  • Decide which processes to load when there’s available space

62
New cards

File Management

  • Tracks available space

  • Maintains file info and directory structure

  • Support file manipulation commands

63
New cards

I/O System Management

- Allows access to devices

- Use of device drivers for modularity

64
New cards

Secondary Storage Management

- Storage allocation

- Free space management

- Disk scheduling

65
New cards

Networking

- Transfer protocols

- Routing & connection strategies

66
New cards

Protection System

- Mechanism for controlling access to programs, processes, or users

- For multitasking and multiuser systems

67
New cards

Command Interpreter System

User interaction via command line, GUI, touch, voice, etc.

68
New cards

OS Architectures

1. Monolithic

2. Layered

3. Virtual Machine

4. Microkernel

69
New cards

Which O/S architecture is the easiest to implement?

Monolithic

70
New cards

Monolithic Architecture

- Virtually no structure

- Kernel = 1 big structure

- Procedures visible to each other

71
New cards

Layered Architecture

- Hard to implement bc functionalities are mutually dependent

- Inefficient bc many traversals

- Many checks to pass bc many layers to reach destination

72
New cards

Virtual Machine Architecture

- Many systems in 1 machine

- No resource management and responsiveness

73
New cards

Order of parts in

Virtual Machine Architecture

process -> kernels -> virtual machine -> hardware

- This allows things to run very fast

74
New cards

Microkernel Architecture

  • Takes as much functionality as possible from kernel

  • Allows modularity and portability across platforms

  • Efficient

  • Small monolithic kernel but user & system processes divided into user mode

<ul><li><p>Takes as much <strong><u>functionality</u></strong> as possible <strong><u>from kernel</u></strong></p></li><li><p>Allows <strong><u>modularity and portability</u></strong> across platforms</p></li><li><p>Efficient</p></li><li><p><strong><u>Small monolithic kernel</u></strong> but <strong><u>user &amp; system processes divided into user mode</u></strong></p></li></ul><p></p>
75
New cards

Architecture of Systems Today

  • Monolithic w/ hybrid of microkernel

  • Non OS components controlled by user instead

76
New cards

When and where was the first version of Unix developed?

(1969)

Research Group in Bell Labs

77
New cards

Who developed the 1st version of UNIX?

Ken Thompson

78
New cards

What hardware was used to create UNIX?

PDP-7 (which was idle at that time)

79
New cards

Who joined Ken Thompson?

Dennis Ritchie (worked on MULTICS)

80
New cards

What hardware did Ritchie and Thompson use to create the 2nd version?

PDP-11/20

81
New cards

What did Ritchie and Thompson use for the 3rd version of UNIX?

C (developed in Bell Labs to support Unix) instead of assembly language

82
New cards

What enhancements were added to UNIX in version 4/5?

  • Multiprogramming

  • Run multiple programs at the same time

83
New cards

What hardware did Ritchie and Thompson use for the 4th/5th version of UNIX?

PDP-11/45 and PDP-11/70 (both support multiprogramming)

84
New cards

Version 6 Unix

(1976)

1st version distributed outside of Bell Labs

85
New cards

Version 7 Unix

(1978)

- Ancestor of most Unix systems

- Ported to VAX (appeared as 32V)

86
New cards

What hardware was used for version 7 of UNIX?

Developed for the PDP-11/70 and Interdata 8/32

87
New cards

Who produced the 3BSD Unix?

Bill Joy & Ozalp Babaoglu

88
New cards

Berkeley Software Distributions (BSD)

- 1st implementation of such functionality

- Allowed big programs to run in Unix

89
New cards

DARPA

Defense Advanced Researched Projects Agency

90
New cards

4BSD

Goal: Provide networking for DARPA Internet networking protocols (TCP/IP)

91
New cards

4.2BSD Release

- Communicate among diverse network facilities (LANs, WANs)

- New user interface = C shell

- New text editor = vi

92
New cards

4.2 BSD in 1984

60 connected networks

93
New cards

4.2 BSD in 1993

8,000 connected networks, 10 million users

94
New cards

What was the last Berkeley release?

1993

4.4 BSD

95
New cards

4.4BSD Release

- x.25 networking

- new file system organization

- enhanced security

- improved kernel structure

96
New cards

Unix Standardization Projects

Efforts by IEEE, ISO, and ANSI for Unix environments.

97
New cards

Unix Design Principles focus

  • Time-sharing system

  • Allows multiple processes

  • Simple

  • Kernel provides some functionality

  • Source code provided

98
New cards

Unix Design Principles later use

  • Networking, graphics, real-time operation

  • Needed a lot of code (double size of system)

  • System remained Unix

99
New cards

Unix Shell

  • Command interpreter

  • Executes user-written and system programs

  • Surrounds kernel

  • Users can write own shell

100
New cards

Popular command line shells

Bourne shell (Steve Bourne)

C shell (Bill Joy, BSD systems)

Korn shell (Dave Korn, C & Bourne combo)