sistemas operacionais i - dcc.ufrj.brdcc.ufrj.br/~valeriab/so-presentation.pdf · sistemas...

36
Sistemas Operacionais I Valeria Menezes Bastos

Upload: lethuan

Post on 14-Feb-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Sistemas Operacionais I

Valeria Menezes Bastos

Chapter 1

Computer System

Overview Eighth Edition

By William Stallings

Operating

Systems:

Internals

and Design

Principles

Summary Cache memory

Motivation

Cache principles

Cache design

Direct memory access

Multiprocessor and multicore organization

Symmetric multiprocessors

Multicore computers

Basic Elements

Evolution of the microprocessor

Instruction execution

Interrupts

Interrupts and the instruction cycle

Interrupt processing

Multiple interrupts

The memory hierarchy

Chapter 2

Operating System

Overview Eighth Edition

By William Stallings

Operating

Systems:

Internals

and Design

Principles

Summary

Operating system objectives and

functions User/computer interface

Resource manager

Evolution of operating systems Serial processing

Simple/multiprogrammed/time-

sharing batch systems

Major achievements

Developments leading to modern

operating systems

Fault tolerance

Fundamental concepts

Faults

OS mechanisms

OS design considerations for

multiprocessor and multicore

Microsoft Windows overview Traditional Unix systems

History/description

Modern Unix systems

System V Release 4 (SVR4)

BSD

Solaris 10

Linux

History

Modular structure

Kernel components

Android

Software/system architecture

Activities

Power management

Chapter 3

Process Description

and Control Eighth Edition

By William Stallings

Operating

Systems:

Internals

and Design

Principles

Summary

What is a process?

Background

Processes and process control blocks

Process states

Two-state process model

Creation and termination

Five-state model

Suspended processes

Process description

Operating system control structures

Process control structures

Process control

Modes of execution

Process creation

Process switching

Execution of the operating system

Nonprocess kernel

Execution within user processes

Process-based operating system

UNIX SVR4 process management

Process states

Process description

Process control

Chapter 4

Threads Eighth Edition

By William Stallings

Operating

Systems:

Internals

and Design

Principles

Summary Processes and threads

Multithreading

Thread functionality

Types of threads

User level and kernel level threads

Multicore and multithreading

Windows 8 process and thread management

Changes in Windows 8

Windows process

Process and thread objects

Multithreading

Thread states

Support for OS subsystems

Solaris thread and SMP management

Multithreaded architecture

Motivation

Process structure

Thread execution

Interrupts as threads

Linux process and thread management

Tasks/threads/namespaces

Android process and thread management

Android applications

Activities

Processes and threads

Mac OS X grand central dispatch

Chapter 5

Concurrency:

Mutual Exclusion

and Synchronization

Operating

Systems:

Internals

and Design

Principles

Eighth Edition

By William Stallings

Summary Monitors

Monitor with signal

Alternate model of monitors with notify and broadcast

Message passing

Synchronization

Addressing

Message format

Queueing discipline

Mutual exclusion

Readers/writers problem

Readers have priority

Writers have priority

Principles of concurrency

Race condition

OS concerns

Process interaction

Requirements for mutual exclusion

Mutual exclusion: hardware support

Interrupt disabling

Special machine instructions

Semaphores

Mutual exclusion

Producer/consumer problem

Implementation of semaphores

Chapter 6

Concurrency:

Deadlock and

Starvation

Operating

Systems:

Internals

and Design

Principles

Eighth Edition

By William Stallings

Principles of deadlock

Reusable/consumable resources

Resource allocation graphs

Conditions for deadlock

Deadlock prevention

Mutual exclusion

Hold and wait

No preemption

Circular wait

Deadlock avoidance

Process initiation denial

Resource allocation denial

Deadlock detection

Deadlock detection algorithm

Recovery

Android interprocess communication

UNIX concurrency mechanisms

Pipes

Messages

Shared memory

Semaphores

Signals

Linux kernel concurrency mechanisms

Atomic operations

Spinlocks

Semaphores

Barriers

Solaris thread synchronization primitives

Mutual exclusion lock

Semaphores

Readers/writer lock

Condition variables

Windows 7 concurrency mechanisms

Chapter 7

Memory

Management Eighth Edition

William Stallings

Operating

Systems:

Internals

and Design

Principles

Summary

Memory partitioning

fixed partitioning

dynamic partitioning

buddy system

relocation

Segmentation

Memory management requirements

relocation

protection

sharing

logical organization

physical organization

Paging

Chapter 8

Virtual Memory

Operating

Systems:

Internals

and Design

Principles

Eighth Edition

William Stallings

Summary UNIX and Solaris memory

management

Paging system

Kernel memory allocator

Linux memory management

Linux virtual memory

Kernel memory allocation

Windows memory management

Windows virtual address map

Windows paging

Windows 8 swapping

Android memory management

Hardware and control structures

Locality and virtual memory

Paging

Segmentation

Combined paging and segmentation

Protection and sharing

OS software

Fetch policy

Placement policy

Replacement policy

Resident set management

Cleaning policy

Load control

Chapter 9

Uniprocessor

Scheduling Eighth Edition

By William Stallings

Operating

Systems:

Internals

and

Design

Principles

Summary

Scheduling algorithms

Short-term scheduling criteria

The use of priorities

Alternative scheduling policies

Performance comparison

Fair-share scheduling

Types of processor scheduling

Long-term scheduling

Medium-term scheduling

Short-term scheduling

Traditional UNIX scheduling

Chapter 10

Multiprocessor,

Multicore

and Real-Time

Scheduling Eighth Edition

By William Stallings

Operating

Systems:

Internals

and

Design

Principles

Summary Real-time scheduling

Background

Characteristics of real-time operating systems

Real-time scheduling

Deadline scheduling

Rate monotonic scheduling

Priority inversion

Windows scheduling

Process and thread priorities

Multiprocessor scheduling

Multiprocessor and multicore scheduling

Granularity

Design issues

Process scheduling

Multicore thread scheduling

Linux scheduling

Real-time scheduling

Non-real-time scheduling

UNIX SVR4 scheduling

UNIX FreeBSD scheduling

Priority classes

SMP and multicore support

Chapter 11

I/O Management

and Disk Scheduling Eighth Edition

By William Stallings

Operating

Systems:

Internals

and

Design

Principles

Summary I/O devices

Organization of the I/O function

The evolution of the I/O function

Direct memory access

Operating system design issues

Design objectives

Logical structure of the I/O function

I/O Buffering

Single buffer

Double buffer

Circular buffer

Disk scheduling

Disk performance parameters

Disk scheduling policies

Raid

Raid levels 0 – 6

Disk cache

Design and performance considerations

UNIX SVR4 I/O

Buffer cache

Character queue

Unbuffered I/O

UNIX devices

Linux I/O

Disk scheduling

Linux page cache

Windows I/O

Basic I/O facilities

Asynchronous and Synchronous I/O

Software RAID

Volume shadow copies/encryption

Chapter 12

File Management Eighth Edition

By William Stallings

Operating

Systems:

Internals

and Design

Principles

Summary File structure

File management systems

File organization and access

The pile

The sequential file

The indexed sequential file

The indexed file

The direct or hashed file

B-Trees

File directories

Contents

Structure

Naming

File sharing

Access rights

Simultaneous access

Record blocking

Android file management

File system

SQLite

Secondary storage management

File allocation

Free space management

Volumes

Reliability

UNIX file management

Inodes

File allocation

Directories

Volume structure

Linux virtual file system

Superblock object

Inode object

Dentry object

File object

Caches

Windows file system

Key features of NTFS

NTFS volume and file structure

Recoverability

Chapter 13

Embedded Operating

Systems Eighth Edition

By William Stallings

Operating

Systems:

Internals

and

Design

Principles

Summary Embedded systems

Characteristics of embedded operating systems

Adapting an existing commercial operating system

Purpose-built embedded operating system

Embedded Linux

Kernel size

Compilation

Embedded Linux file systems

Advantages of embedded Linux

Android

TinyOS

Wireless sensor networks

TinyOS goals

TinyOS components

TinyOS scheduler

TinyOS resource interface

Chapter 14

Virtual Machines Eighth Edition

By William Stallings

Operating

Systems:

Internals

and

Design

Principles

Summary

Approaches to virtualization

Processor issues

Memory management

I/O management

VMware ESXi

Microsoft hyper-V and Xen

variants

Java VM

Linux VServer virtual machine

architecture

architecture

process scheduling

Android virtual machine

Dex file format

Zygote

Chapter 15

Operating System

Security Eighth Edition

By William Stallings

Operating

Systems:

Internals

and

Design

Principles

Summary Intruders and malicious software

system access threats

countermeasures

Buffer overflow

buffer overflow attacks

compile time defenses

runtime defenses

Access control

file system access control

access control policies

UNIX access control

traditional UNIX file access control

access control lists in UNIX

Operating systems hardening

OS installation: initial setup and patching

remove unnecessary services, application, and protocols

configure users, groups and authentication

install additional security controls

test the system security

Security maintenance

logging

data backup and archive

Windows security

access control scheme

access token

security descriptors

Chapter 16

Distributed Processing,

Client/Server, and

Clusters Eighth Edition

By William Stallings

Operating

Systems:

Internals

and

Design

Principles

Summary Client/server computing

What is client/server computing?

Client/server applications

Middleware

Distributed message passing

Reliability versus unreliability

Blocking versus nonblocking

Windows cluster server

Beowulf and Linux clusters

Beowulf features

Beowulf software

Remote procedure calls

Parameter passing

Parameter representation

Client/server binding

Synchronous versus asynchronous

Object-oriented mechanisms

Clusters

Cluster configurations

Operating system design issues

Cluster computer architecture

Clusters compared to SMP

Bibliografy

Livro texto:

Operating Systems: Internals

and Design Principles

(8th Edition)

William Stallings

Complementary Bibliografy

Rating Criteria 3 Group Works (W)

Final Test (FT) - if the grade is under 7,0

Partial Average (PA) = W3*(1/(1+exp(-((W1+W2)/2 -3.5))))

Average (A): PA 7,0

Final Average (FA):

FA = 0.6 * A + 0.4 * FT Correction curve

W

Factor

Correction factor