Вы находитесь на странице: 1из 23

Capitulo 1: Introduccin

Operating System Concepts 9th Edit9on Silberschatz, Galvin and Gagne 2013

Capitulo 1: Introduccin
Que hace un Sistema Operativo
Organizacin del Computador
Arquitectura del Computador
Estructura de un Sistema Operativo
Operaciones de un Sistema Operativo
Manejo de Procesos
Manejo de Memoria
Manejo de Almacenamiento
Proteccin y Seguridad
Estructura de Datos del Kernel
Ambientes de Computos

1
Objetivos

Describir la organizacin bsica de un sistema de cmputos

Ofrecer una visin de los componentes ms importantes de los


Sistemas Operativos

Describir los diferentes componentes de un sistema de cmputos.

Qu es un Sistema Operativo?

Es un programa que administra el hardware de una


computadora, proporciona las bases para los programas de
aplicacin y acta como intermediario entre el usuario y el
Hardware de la computadora.

Objetivos de un Sistema Operativo:

Ejecutar programas

Facilitar el uso de los recursos de la computadora.

Utilizar el hardware de la computadora de manera eficiente

2
Ejemplos de SO

Ejemplos de SO

3
Estructura de Computadoras

Una computadora puede dividirse en cuatro componentes:


Hardware Los recursos bsicos de cmputo
CPU, Memoria, Buses, Dispositivos de E/S
Sistema Operativo
Controla y coordina la utilizacin del hardware entre los
distintos programas de aplicacin y usuarios.
Programas de aplicacin Definen en qu manera se utilizan
los recursos del sistema para resolver problemas de cmputos
de los usuarios.
Procesadorde texto. planillas de clculo, compiladores,
navegador web, video juegos
Usuarios
Personas, mquinas, otras computadoras.

Los cuatro componentes de una computadora

4
Que hace el Sistema Operativo
Desde el punto de vista del usuario
Diseado para que sea fcil de usar y buena performance
Oculta la forma en que se utilizan los recursos
En computadoras como los mainframe o minicomputadoras los
usuarios pueden accede desde otras terminales y comparten los
recursos. Se require un diseo equitativo y eficiente.
Usuarios de estaciones de trabajo, tienen recursos dedicados pero
frecuentemente utilizan los recursos de un servidor.
Dispositivos de mano como los smartphone, estn optimizados para
ofrecer usabilidad y el menor consumo de bateria posible.
Algunas computadoras pueden no contar con una interfaz de
usuario, por ejemplo las computadoras embebidas en un dispositivo
o un automvil.

Definicin de un Sistema Operativo

Desde el punto de vista del Sistema

El SO es un asignador de recursos

Maneja todos los recursos

Decide entre solicitudes en conflicto en forma eficiente y


equitativa

El SO es un programa de control

Controla la ejecucin de los programas para prevenir


errores y un uso inapropiado de la computadora

5
Definicin de un Sistema Operativo (Cont.)

No existe una definicin universalmente aceptada


Todo lo que incluye el proveedor cuando ordenas el sistema
operativo es una buena aproximacin (Windows , Linux , etc.)
El programa que se ejecuta continuamente en la computadora
usualmente denominado como nucleo o kernel.
Todo lo dems es
un programa del sistema (viene con el SO)
un programa de aplicacin.

Organizacin del Computador


Operacin de la computadora
Uno o ms CPUs, controladores de dispositivos
conectados a travs de un bus comn a la memoria
compartida.
Ejecucin concurrente de CPUs y dispositivos compitiendo
por ciclos de memoria.

6
Operacin del computador

Dispositivos de E/S y el CPU se ejecutan de manera


concurrente.

Cada controlador est a cargo de cierto tipo de dispositivos.

Cada controlador tiene un buffer local.

El CPU mueve datos desde/hacia la memoria principal y


hacia/desde buffers locales.

El controlador del dispositivo informa al CPU que termin su


operacin a travs de una interrupcin

Funciones usuales de las interrupciones

La interrupcin pasa el control a la rutina de manejo de


interrupciones a travs del vector de interrupcin, que contiene
las direcciones de todas las rutinas de servicio.

La arquitectura de interrupcin debe guardar la direccin de la


instruccin interrumpida.

Las interrupciones que entran son deshabilitadas mientras otra


interrupcin est siendo procesada.

Una trampa o excepcin es una interrupcin de software


ocasionada por un error o una solicitud del usuario.

El sistema operativo es dirigido por interrupciones.

7
Lnea de tiempo de interrupciones

Una vez que se inicia E/S, el control regresa al


programa usuario hasta que concluye la E/S.

Estructura de Almacenamiento
Memoria principal Un gran medio de almacenamiento que el CPU
puede acceder directamente.
Acceso aleatorio
Voltil (por lo general)
Almacenamiento secundario extensin de la memoria principal que
provee grandes capacidades de memoria no voltil.
Discos Magnticos discos de metal o cristal cubiertos de material
de grabacin magntico
La superficie esta lgicamente dividida en Pistas, que se dividen
en sectores.
El controlador del disco determina la interaccin lgica entre el
dispositivo y la computadora
Discos de estado slido ms rpidos que los discos magnticos,
no voltiles.

8
Jerarqua de almacenamiento

Sistemas de almacenamiento organizados en jerarqua


Velocidad
Costo
Volatilidad

Memoria Cache

Principioimportante, se realiza a muchos niveles en la


computadora (en hardware, sistema operativo y software)
Informacin en uso es copiada temporalmente de un
almacenamiento ms lento a uno ms rpido
El almacenamiento ms rpido (cache) se revisa primero para
determinar si la informacin est ah
Si est, se utiliza la informacin del cache (rpido)
Si no est, se copian los datos al cache y se utilizan
El cache es ms pequeo que el almacenamiento cacheado
Manejo del cache, importante problema de diseo
Tamao del cache y poltica de reemplazo

9
Estructura Acceso Directo a Memoria

Se utiliza para que dispositivos E/S de alta velocidad transmitan


informacin casi a la velocidad de la memoria.

El controlador del dispositivo transmite bloques de datos


almacenados en su buffer directo a memoria principal sin la
intervencin del CPU.

Solamente se genera una interrupcin por bloque, en lugar de una


por byte.

Como funciona una computadora


moderna

A von Neumann architecture

10
Arquitectura del Computador

Muchos sistemas utilizan un procesador de propsito general (desde PDAs


hasta mainframes)
Muchos sistemas tambin tienen procesadores de propsito especial
Sistemas multiprocesadores estn en crecimiento e importancia.
Tambin conocidos como sistemas paralelos, sistemas acoplados
Las ventajas son:
Incrementa el rendimiento
Econmica escala
Incrementan confiabilidad ,reducen la degradacin o la tolerancia a
fallos
Se clasifican en dos tipos:
Multiprocesamiento asimtrico
Multiprocesamiento simtrico

Arquitectura Multiprocesamiento Simtrica

Multi-Nucleo

11
Sistemas en Cluster
Como los sistemas multiprocesadores pero son multiples sistemas
trabajando en equipo.
Generalmente comparten el almacenamiento por medio de un Red de
Almacenamiento (storage-area network - SAN)
Provee servicios de alta disponibilidad, resistentes a fallos
Clster asimtrico tiene una computadora activa y una Standby
monitoreando el servicio activo. Se activa si falla la primaria.
Clster simtrico tiene mltiples computadoras (nodos) ejecutando
aplicaciones y monitorendose entre ellos.
Algunos clusters son para computacin de alta performance (HPC)
Las aplicaciones deben ser escritas para utilizar paralelizacion
Algunos tienen un administrador distribuido de bloqueo para evitar conflictos
entre las operaciones.

Estructura del sistema operativo


Multiprogramacin necesaria por razones de eficiencia

La multiprogramacin organiza trabajo (cdigo y datos) para


que el CPU siempre tenga algo que ejecutar

Un subconjunto de los trabajos totales del sistema se mantiene


en memoria

Un trabajo es seleccionado y se ejecuta via un planificador de


trabajo (job scheduling)

Cuando tiene que esperar (E/S por ejemplo), el SO cambia a


otro trabajo

12
Estructura del sistema operativo
Tiempo Compartido (Timesharing) es una extensin lgica de la
multiprogramacin en la cual el CPU cambia de trabajos tan
frecuentemente que los usuarios pueden interactuar con cada
trabajo mientras se ejecuta, dando nacimiento al cmputo
interactivo
Tiempo de respuesta debe ser < 1 segundo
Cada usuario tiene al menos un programa en ejecucin en
memoria
Si hay varios trabajos listos se realiza una Planificacin
La Memoria Virtual permite la ejecucin de procesos que
no estn completamente en memoria

Disposicin de memoria para un sistema con


multiprogramacin

13
Operaciones del sistema operativo
Controlado por interrupciones del hardware
Un error de software o solicitud genera un excepcin o tramp
Divisin por cero, solicitud de servicio al sistema operativo
Otros problemas de procesos incluyen ciclos infinitos, procesos
que modifican otros procesos o el SO.

Operaciones del sistema operativo


Modo dual de operaciones permite al SO protegerse y a otros
componentes del sistema
Modo usuario y modo kernel
Modo bit provisto por el hardware
Proveela habilidad de distinguir cuando el sistema ejecuta
codigo de usuario o kernel
Algunas instrucciones son diseadas como privilegiadas,
slo se ejecutan en modo kernel.
Llamadas al sistema cambia a modo kernel, regreso de la
llamada cambia modo usuario
Cada vez ms CPUs soportan operaciones multi-mode
Eje: Virtual machine manager (VMM) Modo para VMs
huspedes.

14
Transicin de modo Usuario a Kernel
Timer para prevenir ciclos infinitos / procesos apoderados de recursos
Asigna una interrupcin luego de un periodo especificado
El sistema operativo decrementa el contado
Cuando llega a cero genera una interrupcin
Se asigna antes del proceso de asignacin (scheuling) para
retomar el control o terminal el programa que exceda su tiempo de
ejecucin

Administracin de Procesos
Un proceso es un programa en ejecucin. Es una unidad de tiempo
dentro del sistema. El programa es una entidad pasiva, el proceso es
una entidad activa.
El proceso necesita recursos para llevar a cabo su tarea
CPU, memoria, E/S, archivos
Datos de inicializacin
La terminacin de un proceso requiere recuperar de los recursos
Procesos de una CPU tienen un contador de programa que especifica la
localidad de la sig. Instruccin a ejecutar
El proceso ejecuta instrucciones secuencialmente, una a la vez,
hasta terminar
Por lo general el sistema tiene varios procesos, algunos de usuario,
otros del sistema operativo, ejecutndose concurrentemente en uno o
ms CPUs

15
Administracin de Procesos
El sistema operativo es responsable de las siguientes actividades
en relacin con el manejo de procesos:

Crear y eliminar procesos de usuario como del sistema

Suspender y reiniciar procesos

Proveer mecanismos para sincronizacin de procesos

Proveer mecanismos para comunicacin de procesos

Proveer mecanismos para manejar abrazos mortales(deadlock)

Administracin de Memoria
La administracin de memoria determina qu est en memoria y
cundo
Los datos deben estar en memoria antes y despus de procesar
Todas las instrucciones en memoria en el orden de ejecucin
Optimizando la utilizacin del CPU y la respuesta de la
computadora a los usuarios
Actividades en el manejo de memoria
Mantener un registro de qu partes de la memoria estn en uso
y por quin
Decidir qu procesos (o partes de) y qu datos mover o sacar de
la memoria
Asignar o liberar espacio en memoria conforme se requiera

16
Administracin de almacenamiento
SO provee una vista lgica uniforme del almacenamiento de informacin

Abstrayendo propiedades fsicas en una unidad de almacenamiento


Cada medio es controlado por un dispositivo

Propiedades variables incluyen, velocidad de acceso, capacidad,


ritmo de transferencia, mtodo de acceso (secuencial o aleatorio)

Manejo de sistema de archivos

Archivos organizados en directorios

Control de acceso para determinar quin puede acceder qu

Administracin de almacenamiento

Actividades del SO incluyen:

Crear, borrar archivos y directorios

Primitivas para manipular archivos y directorios

Mapeo de archivos en almacenamiento secundario

Archivos de respaldo en medios de almacenamiento


estable (no voltil)

17
Administracin de Almacenamiento masivo
Se utilizan discos para almacenar datos que no caben en memoria
principal o datos que deben mantenerse por mucho tiempo
La velocidad de operacin de la computadora depende en el
subsistema de disco y sus algoritmos
Actividades del SO
Manejo de espacio libre
Asignacin de almacenamiento
Planificacin del disco (scheduling)
Cierto almacenamiento no tiene que ser rpido
Almacenamiento terciario usualmente incluye discos pticos,
citas magnticas
Pueden ser controlados por el SO o aplicaciones.
Formatos que vara entre WORM (Write-Once, read-many-
times) and RW(read-write)

Subsistema de E/S
Un propsito del SO es esconder al usuario las particularidades de
dispositivos de hardware

El subsistema de E/S es responsable de:

Manejo de memoria para E/S incluyendo buffering (almacenar


datos temporalmente mientras se trasmite), caching
(almacenar partes de los datos en almacenamiento ms
rpido por rendimiento), spooling (gestin de colas).

Interfaz general para manejadores de dispositivos

Drivers para dispositivos especficos

18
Proteccin y Seguridad
Proteccin cualquier mecanismo para controlar el acceso de
procesos o usuarios a recurso definidos por el SO
Seguridad defensa del sistema contra ataques internos o externos
Enorme rango de ataques, incluyendo denial-of-service, gusano,
virus, robo de identidad o robo de servicios
Sistemas usualmente distinguen primero entre usuarios, para
determinar cules pueden hacer qu
Identificacin de usuarios(user IDs,security IDs), incluyendo
nombre y nmero asociado, uno por usuario
Nombre de usuario, ID, se asocia con todos los archivos y
procesos del usuario para determinar el control de acceso
Identificador de grupo (group ID) permite definir un conjunto de
usuarios y manejarlos en grupo, tambin se asocia con cada
proceso de archivo.
Escalar privilegios permite a los usuarios cambiar a un ID con
ms privilegios

Ambientes de Cmputo - Mviles


Smartphones, tablets,etc

Cul es la diferencia en cuanto a funciones entre los anteriores y una


laptop tradicional

Caractersticas extras mas que las de un SO (GPS,


giroscopio,sensores,etc)

Permiten nuevo tipo de aplicaciones como lo es la realidad


aumentada

Uso del estndar IEEE 802.11 wireless, o red de datos celular para
conectividad.

Los lderes en el mercado son Apple iOS y Google Android

19
Ambientes de cmputo - Distribuidos
Distribuido
Coleccin separada, posiblemente heterognea de sistemas en red
Local Area Network (LAN)
Wide Area Network (WAN)
Metropolitan Area Network(MAN)
Personal Area Network (PAN)
Sistemas operativos de Red, proveen las caractersticas del sistema
por medio de la red.
Esquema de comunicacin, permite al sistema intercambiar
mensajes
Ilusin de ser un nico sistema

Ambientes de cmputo Cliente-Servidor

Client-Server Computing
Terminales tontas suplantando PCs
Muchos sistemas hoy son servidores, respondiendo a
solicitudes de clientes
Servidor de aplicacin provee interfaz al cliente para
solicitar servicios (eje base de datos)
Servidor de archivos provee interfaz para que los
clientes almacenen y recuperen archivos

20
Ambientes de cmputo Peer-to-Peer
Otro modelo de sistema distribuido
P2P no diferencia a clientes y servidores
En su lugar todos los nodos son
considerados pares
Cada uno puede actuar como cliente,
servidor o ambos
Los nodos deben unirse a una red P2P
Registrar su servicio en un servidor
central en la red o

Realizar peticiones Broadcast para


localizar un servidor y responder a
las peticiones de servicio por medio
de un protocolo de descubrimiento

Ambientes de cmputo - Virtualizacin


Permite a los sistemas operativos ejecutar aplicaciones dentro de
otros sistemas operativos
Emulacin usada cuando queremos ejecutar instrucciones
desarrolladas para un modelo especifico de CPU en otro. (Por
ejemplo PowerPC en Intel x86)
Es la opcin ms lenta
Virtualizacin Sistema operativo compilado para una CPU,
ejecutando sistemas operativos Invitados.
Consideremos VMware ejecutando una maquina virtual WinXP
(la cual tiene sus aplicaciones ejecutndose) dentro de otro
sistema operativo Linux.

21
Ambientes de cmputo - Virtualizacin
Diferentes casos de uso, por ejemplo laptos y equipos de
escritorio ejecutando multiples sistemas operativos al mismo
tiempo para investigacin o compatibilidad
Apple laptop ejecutando MAC OS X como host, ejecutando
Windows como invitado
Desarrolladores de aplicaciones para mltiple sistemas
operativos sin tener que tener un equipo fsico por cada uno.
Testing de aplicaciones en diferentes sistemas operativos
Ejecucin y administracin de ambientes de cmputos sin
necesidad de tener un data center.
VMM ejecucin nativa, sin necesidad de un Host
No hay un Host de propsito general (Vmware ESX, Citrix
XenServer)

Ambientes de cmputo - Virtualizacin

22
Ambientes de cmputo Cloud Computing

El ambiente de computo en la nube, est compuesto por SOs


tradicionales + VMMs + Herramientas de administracin
Utilizando Internet , es fundamental la seguridad (uso de
firewalls)
El balanceo de carga divide el trfico entre las diferentes
aplicaciones

23

Вам также может понравиться