Uploaded by donotmeetme34

CSC 316 Lecture Note 1

advertisement
www.lmu.edu.ng
CSC 316: OPERATING SYSTEMS 1
LECTURE 1
Lecturers
Dr. Atanda Oladayo Gbenga
Mr. Olowe Oluwanbo
Course Outline
 Overview of O/S: Role &

Purpose, Functionality
Mechanisms to Support Clientserver.

 History, various types of
operating systems (simple
batch processing,

multiprogrammed, batched
systems, time-sharing systems,
real time systems etc).
 Operating system components,
2
processes: concept,
scheduling, threads,
interprocess communication;
cpu scheduling: scheduling
criteria, scheduling algorithms,
multiple process scheduling;
Deadlocks: characterization,
types, methods for handling
deadlocks.
What is Operating System?
 An operating system (OS) plays a central role in the
operation of a computer system. Its primary
purpose is to manage hardware resources and
provide a platform for running software
applications. Within the context of a client-server
architecture, the OS performs several functions and
mechanisms to support the interaction between
clients and servers.
3
Role and Purpose of Operating System…
 Resource Management: The OS manages hardware resources,
such as CPU, memory, storage, and input/output devices. It
allocates and deallocates resources efficiently to ensure that
multiple processes can run concurrently without interference.
 Process Management: It schedules and controls the execution
of processes (applications and software) on the system, allowing
for multitasking and providing each process with its share of CPU
time.
 Memory Management: The OS allocates and manages memory
to ensure that each process has the necessary memory space. It
also provides mechanisms for virtual memory and memory
protection.
4
Role and Purpose of Operating System…
 File System Management: The OS controls and organizes files and
directories, allowing data to be stored, accessed, and managed
efficiently. It also handles file permissions and security.
 Device Management: It interacts with and manages hardware devices,
including input devices (keyboard, mouse), output devices (display,
printer), and storage devices (hard drives, SSDs). Device drivers are
used to facilitate this interaction.
 User Interface: The OS provides user interfaces, which can be
graphical (GUI) or command-line (CLI), to allow users to interact with
the system and applications.
 Security and Authentication: It enforces security measures, such as
user authentication and permissions, to protect data and system
resources. This is especially important in a client-server environment.
5
Goals of Operating System
 Convenience (Easy to use)
 Efficiency (e.g in Mainframe and Supercomputers)
6
Functionality Mechanisms to Support Client-Server



In a client-server architecture, where multiple clients request services or resources
from one or more servers, the operating system provides various mechanisms to
facilitate these interactions:
Network Stack: The OS includes a network stack that handles communication
protocols, enabling clients to connect to servers over a network, send requests, and
receive responses. It manages data transmission and reception.
Process Synchronization: To support concurrent client-server operations, the OS
provides mechanisms for process synchronization, such as inter-process
communication (IPC) and synchronization primitives like semaphores and mutexes.
Socket Programming: The OS offers socket APIs (Application Programming
Interfaces) that allow applications to create, manage, and communicate over network
sockets. Sockets facilitate the establishment of connections between clients and
servers.
7
Functionality Mechanisms to Support Client-Server




Security and Authentication: In a client-server environment, security is
crucial. The OS manages user authentication and authorization to ensure that
only authorized clients can access server resources. It enforces access controls
and encryption for secure communication.
Resource Allocation: The OS allocates resources efficiently among clientserver processes to ensure that the server can handle multiple client requests
simultaneously without resource contention.
Multi-Threading: The OS supports multi-threading, allowing server
applications to handle multiple client requests in parallel by creating and
managing multiple threads.
Error Handling: It provides mechanisms for error detection, reporting, and
recovery. This is important in a client-server environment to handle issues like
dropped connections or server failures gracefully.
8
Functionality Mechanisms to Support Client-Server
 Logging and Monitoring: The OS may offer logging and
monitoring tools to track and analyze client-server
interactions, helping administrators diagnose issues and
ensure system health.
 In summary, the operating system's role and purpose are to
manage hardware resources and provide a platform for
software applications. In a client-server architecture, it plays
a crucial role in facilitating network communication, process
management, security, and resource allocation to support
efficient and secure interactions between clients and
servers.
9
Thank You for
Listening
10
Download