Silberschatz Operating System Concepts Ppt

2 views
Skip to first unread message

Fortun Bawa

unread,
Aug 4, 2024, 4:20:27 PM8/4/24
to flugalride
Thetenth edition of Operating System Concepts has been revised to keep it fresh and up-to-date with contemporary examples of how operating systems function, as well as enhanced interactive elements to improve learning and the student's experience with the material. It combines instruction on concepts with real-world applications so that students can understand the practical usage of the content. End-of-chapter problems, exercises, review questions, and programming exercises help to further reinforce important concepts. New interactive self-assessment problems are provided throughout the text to help students monitor their level of understanding and progress. A Linux virtual machine (including C and Java source code and development tools) allows students to complete programming exercises that help them engage further with the material.

Avi Silberschatz (born in Haifa, Israel) is an Israeli computer scientist and researcher. He is known for having authored many influential texts in computer science. He finished high school at the Hebrew Reali School in Haifa, and graduated in 1976 with a Ph.D. in computer science from the State University of New York (SUNY) at Stony Brook. His research interests include database systems, operating systems, storage systems, and network management.


He held a professorship at the University of Texas at Austin, where he taught until 1993. He became a professor at Yale University in 2005, where he was the chair of the Computer Science department from 2005 to 2011. Prior to coming to Yale in 2003, Silberschatz worked at the Bell Labs.


Mainframe operating systems have an acquired dinosaur trope that even their manufacturers recognize.[7]Peter B. Galvin, co-author, notes that the series of books became informally known as the dinosaur book due to the illustrations on the front cover[8] depicting the various operating systems as actual dinosaurs.[9][10]


I am student from CS background and I have Operating Systems in my upcoming semester. A simple search around the internet revealed that that Operating System Concepts by Silberschatz and Galvin is one of the best ones to follow.


Now the above text is probably in its 10th edition currently. Now I won't be able to afford a physical copy of the latest edition, so I was looking around for few cheap used copies and found abundance of 5th edition and few 6th edition texts.


Consider the title: Operating System Concepts. It is about basic and fundamental concepts that underlie operating systems. The basic concepts, the core material of the text, are not going to change much from first edition to the tenth.


This document provides an overview of an operating systems concepts textbook. It introduces key topics covered in the book like computer system organization, operating system structure and functions, process management, memory management, storage management, and security. The objectives are to provide a tour of major OS components and coverage of basic computer system organization. It describes the four main components of a computer system and how the operating system acts as an intermediary between the user, hardware, and application programs.Read less


Operating systems are a fundamental part of any computer system and common to virtually every application. This course surveys conceptual design and implementation issues of such complex programs, starting with the most basic notions of operating systems (e.g., the difference between the kernel and user modes, system calls) and evolving to develop key approaches to operating systems design and implementation. The course delves into the four main pillars of operating systems: process management (i.e., concept of process, multithreaded programming, process scheduling, synchronization, and deadlocks), memory management (i.e., memory-management strategies, virtual memory), storage management (i.e., file systems interface and implementation, mass-storage structure, and I/O systems), and operating systems protection and security. In addition to a conceptual view of operating systems, the course exposes students to the implications of some techniques through a hands-on approach.


The aim of the course is to provide students with the ability to understand how the

operating systems manages and controls computing system resources with the

objectives of efficiency and ease of use, and in particular:

- the role of the operating system as an intermediary between applications and

hardware

- the need to overlap CPU and I/O activities to increase system efficiency

- the concept of process and the main models of process interaction

- the criteria and CPU scheduling algorithms for interactive systems

- the basic use of UNIX / Linux OSes and command usage

- the main system calls offered by UNIX / Linux to applications.

The main abilities to apply the knowledge and understanding listed above are:

- the analysis and evaluation of the characteristics of general-purpose operating

systems

- the analysis of a simple interaction among processes in the global environment

and the identification of simple forms of synchronization using semaphores

- the performance evaluation (on a given workload) of the main CPU scheduling

algorithms for interactive systems


Part 1 - Theory

Course introduction. Course contents and student evaluation methods. Introduction

to the Linux OS and installation methods. The OS as a resource manager. OS

activities for resource management. OS types and users. Proprietary and standard

OSes. Brief history of computing systems and OS evolution. Batch and Time-

Sharing systems. Spooling. I/O management. Polling. Overlap between I/O

activities. Interrupt management.

Multiprogramming. Concept of process and process states. Process management.

PCB. Process switching. OS protection and security. Context switching. System

calls. OS structure with examples (UNIX, MS-DOS, Windows NT / 7). Virtualization

concepts and techniques. OS-level virtualization with containers. OS kernel.

Models of process interaction. Global environment model. Tools for concurrent

programming: threads and Java. Background on threads. Type of interaction among processes.

Examples of interference. Mutual exclusion. Critical sections. Semaphores. Wait

and signal primitives. Atomicity of wait / signal. Use of semaphores for producer /

consumer interaction. Local environment model. Classification of designation and

synchronization alternatives. Direct and indirect designation. Synchronization for

send and receive. Remote procedure calls.

Deadlock and deadlock management techniques.

Levels of scheduling. Criteria for evaluating scheduling algorithms. Basic CPU

scheduling algorithms (FCFS, SJF, Priority, Round-robin, Multilevel feedback

queues). Methods for evaluation. Scheduling in UNIX and Linux.

An introduction to cybersecurity

Part 2: UNIX

Introduction to UNIX. File system. Access rights to files / directories. Basic UNIX

commands. Filters. I/O redirection and command piping. Running shell commands.

Execution mode of commands. Wildcards. Expansion control in the command line.

Scripts: syntax and examples. Laboratory practice on UNIX file system and

commands.

UNIX development tools. Physical organization of the File System. Process image. Command line arguments and

environment. System calls for I/O (open, close, read, write, lseek, etc.). Laboratory

practice on I/O primitives.

System calls for process management (fork, wait, exec). Examples. Laboratory

practice on primitives for process management. Optional assignment on I/O and process management.

UNIX signals. Systems calls for unreliable signals. Issues with unreliable

signals. Primitives for reliable signals. Examples. Interprocess communication with

pipes. Examples. Exercises on signals and pipes. Communication with FIFOs.

Laboratory practice on signals and pipes.

Socket communication. Socket types. Notes on TCP and UDP protocols. Socket

systems calls. Connected sockets. Concurrent servers. Datagram sockets.

Examples. The select system call. Laboratory practice on socket communication.

Other system calls: select and epoll.

Sample final exams.




- Teaching methods -

Class lectures on OS theory and UNIX/Linux usage and programming.

Lab practice on Linux PCs in the lab. Exercises on UNIX/Linux commands

and shells. Programming exercises on process interaction in UNIX/Linux.




The exam consists of two parts.

Part 1 - Theory: Written test with multiple open quizzes and exercises focused on

basic concepts of operating systems (also administered as midterm).

Part 2 - Practice: Computer exercise on UNIX/LINUX programming and multiple

process interaction. Working solution is required.

Before doing the Practice test on Unix programming, students are required to pass an online test on Unix programming on the Elly platform.

The test is mandatory but the result will not prevent the student from doing the Practice test.


During the course an optional assignment on UNIX process management is

administered, whose evaluation may be considered to increase the mark of the

practice part.

Both exam parts must be passed. The final mark is obtained as average of the two

partial marks. Further detailed information on the grading system will be provided

during lectures.


After the course, the student will be able to:implement a basic set of system calls in the educational operating system Pintosexplain concepts related to synchronizationanalyse program code to identify critical sections and busy wait, and use suitable mechanisms to make it thread safe in a correct and adequate way

3a8082e126
Reply all
Reply to author
Forward
0 new messages