+ All Categories
Home > Documents > Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4....

Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4....

Date post: 29-Oct-2018
Category:
Upload: dinhbao
View: 223 times
Download: 0 times
Share this document with a friend
19
1 Sistemas Operativos Departamento de Ciencias e Ingeniería de la Computación (16-5949) Mg. Karina M. Cenci [email protected] Sistemas Operativos Introducción KMC © 2017 Objetivos del Curso de Sistemas Operativos El curso desarrolla los conocimientos de Sistemas Operativos desde una visión conceptual y estructural. Se presentan todos los mecanismos de interacción entre sus partes sin particularizar en algún sistema operativo en especial. Se discuten tópicos como: servicios de sistemas operativos, sistemas de archivos, planificación de CPU, manejo de memoria memoria virtual, planificación de discos, interbloqueos, procesos y programación concurrente, protección, sistemas distribuidos, etc. Se presentan algunos ejemplos de estos conceptos en las familias UNIX, Windows, Solaris, etc a lo largo del desarrollo de los módulos, mostrando los matices de implementación entre estos sistemas. El curso requiere conocimientos de arquitectura y organización de computadores y estructura de datos.
Transcript
Page 1: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

1

Sistemas Operativos

Departamento de Ciencias e Ingeniería de la Computación

(16-5949)

Mg. Karina M. [email protected]

Sistemas Operativos – IntroducciónKMC © 2017

Objetivos del Curso de Sistemas Operativos

El curso desarrolla los conocimientos de Sistemas Operativos desdeuna visión conceptual y estructural. Se presentan todos losmecanismos de interacción entre sus partes sin particularizar enalgún sistema operativo en especial.

Se discuten tópicos como: servicios de sistemas operativos,sistemas de archivos, planificación de CPU, manejo de memoriamemoria virtual, planificación de discos, interbloqueos, procesos yprogramación concurrente, protección, sistemas distribuidos, etc.

Se presentan algunos ejemplos de estos conceptos en las familiasUNIX, Windows, Solaris, etc a lo largo del desarrollo de los módulos,mostrando los matices de implementación entre estos sistemas.

El curso requiere conocimientos de arquitectura y organización decomputadores y estructura de datos.

Page 2: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

2

Sistemas Operativos – IntroducciónKMC © 2017

Programa Sintético

1. Introducción.

2. Estructuras de Sistemas de Cómputo.

3. Estructuras de Sistemas Operativos.

4. Procesos.

5. Planificación de Procesos.

6. Sincronización de Procesos.

7. Interbloqueos.

8. Manejo de Memoria.

9. Memoria Virtual.

10. Sistema de Archivos.

11. Seguridad y Protección.

Sistemas Operativos – IntroducciónKMC © 2017

Bibliografía de Sistemas Operativos

Silberschatz, A., Gagne G., y Galvin, P.B.; "Operating System Concepts",Addison-Wesley, 7ma Edición. 2009, 9na. Edición 2012.Stallings, W. "Operating Systems: Internals and Design Principles",Prentice Hall, 6ta Edición 2008, 7ma Edición 2011, 8va. Edición 2014.Tanenbaum, A.; "Modern Operating Systems", Addison-Wesley, 1992.(1ra Parte). Prentice Hall, 2001. 3ra. Edition 2008, 4ta. Edición 2014.Tanenbaum, A., Woodhull, A. S.; "Operating Systemas: Design andImplementation", Prentice Hall, 1ra Edición, 1987 (o su versión enespañol); Prentice Hall, 3ra Edición, 2006.

Adicional – Libros específicos de los Sistemas Operativos. (Internals deUnix, Windows)

Page 3: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

3

Sistemas Operativos

Introducción

Sistemas Operativos – IntroducciónKMC © 2017

Introducción

¿Qué hace un Sistema Operativo?

Organización del Sistema de Cómputo

Arquitectura del Sistema de Cómputo

Estructura del Sistema Operativo

Operaciones del Sistema Operativo

Administración de Procesos

Administración de Memoria

Administración del Almacenamiento

Protección y Seguridad

Sistemas Distribuidos

Sistemas de Propósito Especial

Ambientes de Computación

Page 4: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

4

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - ¿Qué es un sistema operativo?

Un programa que actúa como un intermediario entreun usuario de una computadora y el hardware de lacomputadora.

Objetivos de Sistema Operativo: Ejecutar los programas de usuario y permitir la solución

de problemas del usuario mas fácilmente.

Conveniencia de uso del sistema de la computadora.

Uso del hardware de la computadora de maneraeficiente.

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Componentes del Sistema de Cómputo

Hardware

Usuario

3

Usuario

1

Usuario

21.- Hardware

2.- Sistema Operativo

3.- Programas de Aplicación

4.- Usuarios

Sistema Operativo

Programas de Sistema y de Aplicación

Compilador

Hardware

Ensamblador Editor Sistema de Base de Datos

Usuario

n

Page 5: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

5

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Definiciones de SistemasOperativos

Alocador de recursosadministra todos los recursos.

decide sobre requerimientos conflictivos para asegurareficiencia y uso imparcial de recursos

Programa de Controlcontrola ejecución de los programas para prevenir errores

y el uso impropio de la computadora.

“El programa que ejecuta todo el tiempo en lacomputadora” es el kernel o núcleo. Todo lo demás es unprograma de sistema o un programa de aplicación.

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Puntos de vista de SO

Usuarios

Personal

Mainframes

Workstations

Móviles

Sistema

Programas de Aplicación

Sistema Operativo

Hardware

Page 6: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

6

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Organización del Sistema de Cómputo Operación del Sistema de Cómputo

Una o más CPUs, se provee acceso a la memoria compartida pordispositivos de control conectados a un canal común.

La ejecución concurrente de CPUs y dispositivos compiten por ciclosde memoria.

La CPU mueve datos desde/hacia la memoria principal a/desde losbuffers locales.

La E/S es desde el dispositivo al

buffer local del controlador.

El controlador de dispositivo

informa a la CPU que ha

finalizado su operación por

medio de una INTERRUPCIÓN.

discos

Controlador

disco

Adaptador

gráfico

Controlador

USB

memoria

teclado impresora

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Funcionamiento de las Interrupciones Una interrupción transfiere el control a la rutina de servicio de la

misma, generalmente por medio del vector de interrupción, quecontiene las direcciones de todas las rutinas de servicio.

La arquitectura de la interrupción debe salvar la dirección de lainstrucción interrumpida.

Las interrupciones entrantes son deshabilitadas mientras otrainterrupción está siendo procesada para prevenir una pérdida deinterrupción.

Un trap es una interrupción generada por el software causada por unerror o por un requerimiento de usuario.

Un sistema operativo es manejado por las interrupciones.

Page 7: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

7

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Manejo de Interrupciones

El sistema operativo preserva el estado de la CPUalmacenando los registros y el contador de programa.

Determina que tipo de interrupción ha occurrido:

polling

Sistema de interrupción vectoreado

Segmentos de código separados determinan que tipo deacción deberían llevarse a cabo para cada tipo deinterrupción.

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Dos Métodos de E/S

Sincrónico

proc que requiere

espera

driver de disp

manejador de int

Hardwaretransf de datos

proc que requiere

driver de disp

manejador de int

Hardwaretransf de datos

tiempo tiempo

kernel kernel

usuario usuario

Asincrónico

Page 8: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

8

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Tabla de estado de dispositivos

disp: lect tarjetas 1status: ociosa

disp: impresora 3status: ocupada

disp: unidad disco 3status: ocupada

disp: unidad disco 1status: ociosa

disp: unidad disco 2status: ociosa

req para impdirec: 38769long: 1245

req para unidadde disco 3arch: xxxoper: lectdir:43098Long: 20000

req para unidadde disco 3arch: yyyoper: escdir: 05678Long: 500

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Estructura de Acceso Directo a Memoria (DMA)

Usado por dispositivos de E/S de alta velocidad para transmitirinformación a velocidades similares a la de la memoria.

El controlador de dispositivos transfiere bloques de datos desde elbuffer de almacenamiento directamente a la memoria principal sinla intervención de la CPU.

Solo una interrupción es generada por bloque, y no una por byte.

Disp E/SCPU Memoria

Instrucciones de E/S

Page 9: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

9

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Estructura de almacenaje

Memoria principal– único medio de almacenaje que la CPU puedeacceder directamente.

Almacenaje Secundario – extensión de la memoria principal que proveeuna gran capacidad de almacenaje no volátil.

Discos Magnéticos –

La superficie del disco está logicamente dividida en tracks (pistas), loscuales están subdivididas en sectores.

El controlador de disco determina la interacción lógica entre el

dispositivo y la computadora.

Jerarquía de Almacenamiento

registros

cache

memoria principal

disco de estado

sólido

disco magnético

disco óptico

cinta magnética

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Estructura del Sistema Operativo

La Multiprogramación es necesaria para lograr eficiencia: Organiza las tareas (código y datos) de tal manera que la CPU

siempre tiene uno ejecutando.

Un subconjunto del total de tareas en el sistema se mantienen enmemoria.

Una tarea es selecionada y ejecutada vía unaplanificación de tareas.

Cuando tiene que esperar (p.e. E/S),

el sistema operativo conmuta a otra tarea.

Sistema Operativo

job 1

job 2

job 3

job 4

0

512 k

Page 10: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

10

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Estructura del Sistema Operativo

El Tiempo Compartido (multitarea) es una extensión lógica en lacual la CPU conmuta tareas tan frecuentemente que los usuariospueden interactuar con cada tarea mientras está ejecutando,creando la computación interactiva. Cada usuario tiene al menos un programa ejecutando en

memoriaproceso

Si hay varias tareas listas para ejecutar al mismo tiempo

planificación de CPU.

Si un proceso no entra en memoria, el swapping lo mueve fueray hacia dentro de la memoriamoves para ejecutar.

La Memoria Virtual permite la ejecución de procesos nocompletos en la memoria.

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Operaciones del Sistema Operativo

Las interrupciones son manejadas por el hardware

El error o requerimiento de software crea una excepción o trap

División por cero, requiere por un servicio del sistemaoperativo

Otros problemas de procesos incluyen lazos infinitos, procesosque se modifican unos con otros o el sistema operativo.

Page 11: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

11

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Operaciones del Sistema Operativo

La operación en modo dual permite al sistema operativoprotegerse a si mismo y otros componentes del sistema Modo usuario y modo kernel El bit de modo es provisto por el hardware

Provee la habilidad para distinguir cuando el sistema estáejecutando código de usuario o código kernel.

Algunas instrucciones son privilegiadas, sólo se ejecutan enmodo kernel.

Timer para prevenir lazos infinitos / alto consumo de recursospor procesos

Sistemas Operativos – IntroducciónKMC © 2017

Introducción – Operaciones del Sistema Operativo

Transición del modo usuario al modo kernel

proceso usuario (p.u.)

ejecutando p.u. llamada system call

kernel

ejecuta system call

retorno system callmodo usuario(bit modo = 1)

modo kernel(bit modo = 0)

trap(bit modo = 0)

retorno(bit modo = 1)

Page 12: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

12

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Administración de Procesos

Un proceso es un programa en ejecución. Es una unidadde trabajo dentro del sistema. Un programa es unaentidad pasiva, el proceso es una entidad activa.

El proceso necesita recursos para realizar su tarea. CPU, memoria, E/S, archivos Initialización de datos

La terminación de procesos require reclamar losrecursos reusables.

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Administración de Procesos

Los procesos de hilo simple tienen un contador de programaespecificando la locación de la próxima instrucción a ejecutar. El proceso ejecuta instrucciones secuencialmente, una por

vez hasta terminar.

Procesos multihilados tienen un contador de programa porhilo.

Típicamente un sistema tiene muchos procesos, algún usuario,algún SO ejecutando concurrentemente en una o más CPUs.

Concurrencia por multiplexado de CPUs entre procesos /hilos.

Page 13: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

13

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Administración de Procesos

ActividadesEl sistema operativo es responsable por las siguientesactividades en conexión con la administración de procesos.

Creación y eliminación de procesos.

Suspensión y reactivación de procesos.

Provisión de mecanismos para:

sincronización de procesos

comunicación de procesos

manejo de interbloqueos

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Administración de Procesos

Tiempo

Proceso 1

Proceso 2

Proceso 3

Entrelazado y solapamiento (multiprocesamiento, dos procesadores)

Proceso 1

Proceso 2

Proceso 3

Entrelazado (multiprogramación, un procesador)

Page 14: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

14

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Administración de Memoria

Todos los datos antes y después del procesamiento.

Todas las instrucciones en memoria para ejecutar.

Determina que hay en memoria cuando es necesariooptimizar la utilización de CPU y el tiempo de respuesta

Actividades de la administración de memoria:

Lleva control de que partes de la memoria están siendo usadas ypor quien.

Decide que procesos cargar cuando hay espacio de memoriadisponible.

Ocupa y desocupa espacio de memoria cuando necesite.

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Administración del almacenaje

El SO provee una visión lógica y uniforme del almacenajede información Hace abstracción de las propiedades físicas a una unidad

lógica de almacenaje – archivo. Cada medio es controlado por un dispositivo (p.e. disco,

cinta, etc) Propiedades variables incluyen velocidad de acceso,

capacidad, método de acceso (secuencial o al azar)

Page 15: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

15

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Administración del almacenaje

Administración del Sistema de Archivos

Los archivos, usualmente están organizados en directorios

El control de acceso en la mayoría de los sistemas determinaquien puede acceder a que

Las actividades del SO incluyen:Creación y destrucción de archivos y directorios.

Soporte de primitivas para el manejo de archivos ydirectorios.

Mapeo de archivos sobre el almacenaje secundario.Respaldo sobre medios de almacenajes estables .

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Administración de Almacenaje

Almacenaje Secundario Los discos son usados para almacenar datos que no entran

en memoria principal o para datos que tienen que serguardados un largo período de tiempo.

Su administración es de vital importancia.

La velocidad de operación de la computadora dependendel subsistema de discos y sus algoritmos.

Page 16: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

16

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Administración de Almacenaje

Almacenaje Secundario Las actividades del SO:

Administración del espacio libre

Alocación del almacenaje

Planificación del disco (no hoy en día ….)

Algunos tipos de almacenajes no necesitan ser rápidos:

Almacenaje terciario como el óptico y las cintas magnéticas

Pero aún así deben ser administrados. Varian entre WORM (write-once, read-many-times) y RW (read-

write)

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Caching

Principio importante que es llevado a cabo por varios nivelesen una computadora.

La información en uso copiada desde un almacenaje lento auno más rápido temporariamente.

El almacenaje más rápido (cache) es verificado primero paradeterminar si la información está allí:

Si está, es usada directamente del cache (rápido)

Si no, el dato es copiado al cache y usado allí.

Consideraciones: administración y coherencia

Page 17: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

17

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Subsistema de E/S

Uno de los propósitos del SO es esconder las peculiaridades delos dispositivos de hardware de los usuarios.

Los subsistemas de E/S son responsables de:

Administración de memoria de las E/S incluyendo el buffering(almacena datos temporariamente mientras están siendotransferidos), caching (almacena partes de datos enalmacenamiento rápido por rendimiento), spooling (elsolapado de la salida de un job con la entrada a otros)

Interfaz general de drivers de dispositivos.

Drivers específicos para dispositivos de hardware

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Protección y Seguridad

Protección – mecanismo para controlar el acceso deprocesos o usuarios a recursos definido por el SO

Seguridad– defensa del sistema contra ataquesinternos y externos Amplio rango, incluyendo DoS, worms, virus, robo de

identidad, robo de servicios

Page 18: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

18

Sistemas Operativos – IntroducciónKMC © 2017

Introducción - Ambientes de Computación

Computadora Tradicional

Borrosa en el tiempo

Ambiente de oficina

Redes hogareñas

Computación Distribuida

Cliente-Servidor

Computación Peer-to-Peer

Computación basada en la web

Sistemas Operativos – IntroducciónKMC © 2017

Introducción

Se recomienda:

Repasar los conceptos sobre: Interrupciones y DMA, entradas/salidas memoria

VISTOS en “Organización de Computadoras” y en la materiasobre arquitectura correspondiente a la carreras de Ingenieríaen Computación e Ingeniería en Sistemas de Información.

Estos temas pueden ser tomados en los exámenes parciales yfinales y se consideran conocidos y estudiados por los alumnosque cursan esta materia

Page 19: Sistemas Operativosso/data/apuntes/SO-2017-mod 01.pdfEstructuras de Sistemas Operativos. 4. Procesos. 5. Planificación de Procesos. 6. Sincronización de Procesos. 7. Interbloqueos.

19

Sistemas Operativos – IntroducciónKMC © 2017

Bibliografía:- Silberschatz, A., Gagne G., y Galvin, P.B.; "Operating SystemConcepts", 7ma Edición. 2009, 9na. Edición 2012.- Tanenbaum, A.; "Modern Operating Systems", Addison-Wesley,3ra. Edición 2008, 4ta. Edición 2014.


Recommended