Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

FSO-01.1-qué Es El Sistema Operativo PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 46

Fundamentos de los

Sistemas Operativos

Tema 1. Conceptos generales


Qu es un sistema operativo?

2015 ULPGC - Jos Miguel Santos Espino


Bibliografa para el Tema 1
Texto principal
Fundamentos de los sistemas operativos
(Silberschatz, 2006, 7 ed.)
Captulos 1 y 2
Textos alternativos
Sistemas Operativos: aspectos internos y
principios de diseo (Stallings, 2005, 5 ed.)
Captulo 2
Fundamentos de Sistemas Operativos. Teora y
ejercicios resueltos
(Candela, Garca, Quesada, Santana, Santos, 2007)
Captulo 1
(o las ediciones originales en ingls)

2015 ULPGC - Jos Miguel Santos 2


QU ES UN SO?

2015 ULPGC - Jos Miguel Santos 3


Primero: qu hay en
un sistema informtico?
Hardware
Procesador y memoria
Dispositivos de E/S: almacenamiento, red, HCI,
impresin, etc.
Software
Software de sistema: compilador, GUI, shell, etc.
Aplicaciones
Personas
Usuarios en general
Administradores del sistema
Desarrolladores / programadores
2015 ULPGC - Jos Miguel Santos 4
Y ahora: qu es un SO?
Un programa que acta de intermediario
entre los usuarios y el hardware
Pertenece al software del sistema
Objetivos:
Proveer un entorno para ejecutar las aplicaciones
Administrar eficientemente los recursos
Facilitar la interaccin con el computador
Facilitar la evolucin del software y del hardware

2015 ULPGC - Jos Miguel Santos 5


Definiciones breves
1. Un sistema de software cuyo fin es que un
sistema informtico sea operativo.
2. Conjunto de programas que gestionan los
recursos del sistema, optimizan su uso y
resuelven conflictos.
3. Cualquier cosa que un fabricante de software
te venda como un sistema operativo.

2015 ULPGC - Jos Miguel Santos 6


Los dos roles del SO
Interfaz con el hardware
Aade caractersticas no existentes en el hw
Oculta caractersticas inconvenientes del hw
Ofrece una mquina extendida
Administrador de recursos
Como si fuera un gobierno del hardware
Concede recursos de forma segura, justa y
eficiente
No realiza trabajo productivo

2015 ULPGC - Jos Miguel Santos 7


El SO como interfaz
Visin: una capa que envuelve el hardware
Ofrece una mquina abstracta con otras caractersticas
Oculta detalles incmodos del hardware
Ampla caractersticas no presentes en el hardware

Sistema operativo
proceso

proceso hardware

proceso

2015 ULPGC - Jos Miguel Santos 8


Interfaz del SO
Para quin es la interfaz?
Usuarios en general entorno de ejecucin
Administradores entorno de administracin
Desarrolladores interfaz de programacin
Qu aspecto tiene la interfaz?
Texto (CLI = Command Line Interface)
Grfica (GUI = Graphical User Interface)
Servicios de programacin (API)

2015 ULPGC - Jos Miguel Santos 9


Entorno de trabajo del SO
El SO suele proporcionar utilidades bsicas
para que el usuario pueda realizar tareas
comunes:
Trabajar con archivos y discos
Ejecutar aplicaciones cargador de programas
Imprimir
Administrar el sistema: backups, usuarios

2015 ULPGC - Jos Miguel Santos 10


CLI = Command Line Interface
Incorpora un lenguaje sencillo para dar
instrucciones al SO:
Cargar programas, trabajar con archivos, etc.
Se le llama shell, intrprete de rdenes, consola

2015 ULPGC - Jos Miguel Santos 11


GUI = Graphical User Interface

2015 ULPGC - Jos Miguel Santos 12


API del SO: llamadas al sistema
API = Application Programming Interface
El SO ofrece a los desarrolladores y a los
procesos un conjunto de servicios pblicos,
accesibles mediante una API
llamadas al sistema (system calls)

2015 ULPGC - Jos Miguel Santos 13


Llamadas al sistema: ejemplo
Llamada write() de UNIX. Escribe un bloque de datos
en un fichero o en un dispositivo de E/S.
int write ( int fd, void* buffer, size_t size )

Resultado: Longitud de los


nmero de bytes Descriptor de fichero Apuntador a la zona datos en bytes
escritos (identifica el fichero de memoria donde
donde vamos a escribir) estn los datos

2015 ULPGC - Jos Miguel Santos 14


Beneficios
Qu ganamos interponiendo esta interfaz entre los
programas y el hardware?
Usabilidad (la interfaz es ms cmoda que el hw)
Seguridad (se ocultan vulnerabilidades del interior del
hardware)
Portabilidad (independencia del hardware)
Interoperabilidad (podemos compartir informacin
con otros sistemas que usen la misma interfaz)
Mantenibilidad (podemos hacer mejoras o
adaptaciones dentro del SO sin obligar a hacer cambios
en los programas de usuario)
Productividad (por todo lo anterior)

2015 ULPGC - Jos Miguel Santos 15


El SO como administrador de recursos
Procesos y recursos
Proceso: programa en ejecucin
Recurso: algo fsico o virtual que necesita un
proceso para ejecutarse
Los recursos son escasos los procesos
compiten por ellos
El SO acta como rbitro/mediador, que
asigna recursos de forma justa y eficiente

2015 ULPGC - Jos Miguel Santos 16


El SO como administrador de recursos
El SO debe determinar a quin se le entregan
los recursos, qu cantidad, en qu momento y
por cunto tiempo.
polticas de gestin de recursos

2015 ULPGC - Jos Miguel Santos 17


El SO como administrador de recursos
Criterios que deben cumplir las polticas del SO:
optimizar el rendimiento del sistema
justicia en el reparto evitar acaparamientos e
inanicin de los procesos perjudicados
garantizar la seguridad del sistema (confidencialidad,
integridad, disponibilidad)
Estos criterios entran en conflicto
Ej. no se puede dar el mximo rendimiento y al mismo
tiempo dar un reparto justo

2015 ULPGC - Jos Miguel Santos 18


Seguridad: los tres elementos
CIA = Confidentiality + Integrity + Availability
Confidencialidad intimidad, privacidad, etc.
Integridad que la informacin no se
corrompa
Disponibilidad que el sistema contine
prestando servicio

2015 ULPGC - Jos Miguel Santos 19


GRANDES LOGROS DEL S.O.

2015 ULPGC - Jos Miguel Santos 20


Algunos logros histricos de los SO
Interfaz uniforme con la E/S
Multiprogramacin
Memoria paginada
Memoria virtual
Sistemas de archivos
Control del acceso concurrente
Proteccin y seguridad

2015 ULPGC - Jos Miguel Santos 21


Interfaz uniforme con la E/S
La E/S es tremendamente diversa
Ej. almacenamiento: ptico, disco magntico,
SSD, cinta magntica
Cada clase de dispositivo se programa de forma
distinta:
Tamao de la unidad de transferencia de datos
Protocolo de comunicacin (sncrono, asncrono)
Codificacin de la informacin
Control de errores

2015 ULPGC - Jos Miguel Santos 22
Interfaz uniforme con la E/S
Solucin del SO: ofrecer a los desarrolladores una API
uniforme para acceder a cualquier dispositivo de E/S,
ej.:
readIO ( int device_id, void* data, int length )
writeIO ( int device_id, void* data, int length )
Para cada clase de dispositivo existe una
implementacin de esta API
manejador de dispositivo (device driver)
Interno del SO, es transparente para el usuario
final
2015 ULPGC - Jos Miguel Santos 23
Interfaz uniforme con la E/S
Qu conseguimos? independencia del dispositivo
Abstraemos los detalles de implementacin de
cada clase de perifrico
Ganamos en portabilidad (el mismo cdigo sirve
para dispositivos diferentes)
Adaptacin a futuras clases de perifricos
Podemos prohibir el acceso directo a la E/S (slo
trabajar con la API del SO) ms seguridad

2015 ULPGC - Jos Miguel Santos 24


Multiprogramacin
Tambin llamada multitarea (multitasking)
Cuando un proceso se bloquea al esperar por la E/S, ejecutamos en
la CPU instrucciones de otro proceso.
Los procesos entrelazan su ejecucin: concurrencia.
La CPU y la E/S trabajan a la misma vez se terminan ms trabajos
en menos tiempo

2015 ULPGC - Jos Miguel Santos 25


La memoria en un sistema
multiprogramado

S.O.

programa 1

programa 2

(libre)

programa 3

(libre)

2015 ULPGC - Jos Miguel Santos 26


Multiprogramacin
Cuestiones que surgen en un sistema
multiprogramado (y que no existen en un
sistema sin multiprogramacin):
Cuando el procesador queda libre, a qu proceso
elegimos? planificacin de CPU
Competencia por el consumo de la memoria
Proteccin de las zonas privadas de memoria
Conflictos ante el acceso simultneo a los recursos
Riesgo de interbloqueo (deadlock)

2015 ULPGC - Jos Miguel Santos 27


Paginacin y memoria virtual
Paginacin. Podemos trocear un programa en
pequeas pginas que se pueden colocar en
zonas diferentes de la memoria.
Memoria virtual. El programa no necesita estar
cargado totalmente en memoria. El almacn
secundario se usa como extensin de la memoria
principal.
Todo se resuelve automticamente, sin que el
usuario ni el programador tengan que intervenir.
2015 ULPGC - Jos Miguel Santos 28
Paginacin y memoria virtual

(Silberchatz, Galvin, Gagne, 2013)


2015 ULPGC - Jos Miguel Santos 29
Sistemas de archivos
Usuarios trabajan con documentos,
programas, imgenes, msica
Almacenamiento fsico trabaja con bloques de
datos de tamao fijo.
Extrao para los usuarios
Creamos un recurso virtual, llamado archivo,
que tiene nombre y contiene informacin.
Tambin el concepto carpeta o directorio
para organizar los archivos.
Abstraccin muy til del almacenamiento fsico.

2015 ULPGC - Jos Miguel Santos 30


Control del acceso concurrente
qu pasa si varios procesos intentan trabajar
al mismo tiempo con un recurso que no se
puede compartir?
Ej. una impresora
El SO debe conocer quin est usando el
recurso y forzar la espera si est ocupado
No es trivial resolver este problema de forma
segura y eficiente
(la solucin, en el Tema 3)

2015 ULPGC - Jos Miguel Santos 31


Proteccin y seguridad
Cmo evitamos que un proceso dae la
memoria ocupada por otro proceso, o por el SO?
Cmo impedimos que un proceso acceda
directamente a la E/S, saltndose las polticas de
asignacin de recursos?
Cmo garantizamos que los datos privados de
un usuario no pueden ser ledos por cualquier
proceso?
Cmo nos aseguramos de que slo las personas
autorizadas pueden acceder al sistema?
2015 ULPGC - Jos Miguel Santos 32
ALGUNOS TIPOS DE SISTEMAS

2015 ULPGC - Jos Miguel Santos 33


Entornos de computacin
Ordenadores personales
Dispositivos de mano: mviles y tabletas
Sistemas empotrados (embedded systems)
Servidores + multiprocesadores
Clusters de servidores
Supercomputadores
Sistemas distribuidos
Sistemas virtualizados
Sistemas en la nube (clouds)

2015 ULPGC - Jos Miguel Santos 34


Algunos tipos de sistemas
Procesamiento por lotes (batch processing)
Tiempo compartido (time sharing)
Tiempo real (real time)
Sistemas multiusuario
Mquinas virtuales

2015 ULPGC - Jos Miguel Santos 35


Sistemas de procesamiento por lotes
(batch processing)
Histricamente, fueron los primeros SO
(principios de los 1950)
Objetivo: automatizar la ejecucin de trabajos y
aumentar la utilizacin del procesador
Los trabajos se agrupaban en lotes que se iban
ejecutando en secuencia
Los ms primitivos eran secuenciales; la
multiprogramacin se incorpor a finales de los
50
Primer lenguaje para dictar tareas al SO
JCL (Job Control Language)
2015 ULPGC - Jos Miguel Santos 36
Sistemas de tiempo compartido
(time sharing)
Inventados en los 1950, comercializados en los
60.
Avance sobre los sistemas por lotes, para
conseguir interactividad.
Cada proceso dispone de una pequea rodaja de
tiempo peridica. Los procesos se van turnando
en la CPU.
Si la rodaja de tiempo es lo bastante pequea
(milisegundos), el usuario no percibe las pausas
peridicas de su sesin.
2015 ULPGC - Jos Miguel Santos 37
Sistemas de tiempo real
(real time systems)
Diseados para cumplir tareas que deben
completarse en un plazo prefijado (sistemas de
control industrial, sistemas multimedia).
Usan algoritmos de planificacin de procesador
especiales.
S.T.R. crtico para industria y sistemas
empotrados en los que el cumplimiento de plazos
es crtico. Suelen prescindir de servicios que
afectan a los tiempos (ej. Memoria virtual).
2015 ULPGC - Jos Miguel Santos 38
Sistemas multiusuario
Un sistema multiusuario reconoce que hay
varios perfiles de acceso, con privilegios
distintos:
Permisos de acceso a ficheros y aplicaciones
Cuotas de espacio o de tiempo de procesador
Prioridad en el acceso a los recursos

Ojo: multiusuario multitarea (puede haber
sistemas multitarea que no son multiusuario)

2015 ULPGC - Jos Miguel Santos 39


Multiprocesadores
Desde unos pocos hasta miles de procesadores
Varios modelos de acceso a memoria
UMA memoria compartida
NUMA no compartida
Varios modelos de ejecucin de procesos:
SMP multiprocesamiento simtrico una tarea se
puede ejecutar en cualquier procesador
AMP - Multiprocesamiento asimtrico hay
especializacin de tareas (ej. un procesador ejecuta el
SO y otro los procesos de usuario)

2015 ULPGC - Jos Miguel Santos 40


Sistemas distribuidos
Un S.D. es un conjunto de computadores
conectados en red y que se utiliza como si fuera
un nico sistema con mltiples procesadores +
una gran memoria compartida + un gran
almacenamiento secundario.
No existe un sistema distribuido universal, pero
s hay servicios con caractersticas de sistema
distribuido.
Servicios en la nube (Dropbox, Amazon)
La WWW

2015 ULPGC - Jos Miguel Santos 41


Mquinas virtuales
Emulacin por software de una mquina
fsica.
Sobre la mquina virtual pueden ejecutarse
programas implementados para la mquina
fsica emulada.
Ventaja: no necesitamos el sistema original
Inconveniente: la emulacin es ms lenta

2015 ULPGC - Jos Miguel Santos 42


Ejemplos de mquinas virtuales
IBM VM: (aos 1960) sobre un sistema por
lotes, ofreca a cada usuario su propia
mquina virtual no multiprogramada; las m.v.
se planificaban con tiempo compartido.
Java: los programas compilados en Java corren
sobre una mquina virtual (JVM).
VMware: capaz de ejecutar al mismo tiempo
varias sesiones Windows, Linux, Mac OS X,
etc. sobre plataforma PC o Mac.

2015 ULPGC - Jos Miguel Santos 43


Usos de las mquinas virtuales
Crear entornos protegidos: cada mquina
virtual est aislada de las otras
Independencia de la plataforma (ej. Java)
Pervivencia de sistemas antiguos (ej.
emuladores MSDOS, consolas de juegos)
Desarrollo: se pueden escribir y probar
aplicaciones para un hardware que no
tenemos

2015 ULPGC - Jos Miguel Santos 44


VMM (virtualizacin):
VMWare, VirtualBox, Parallels
Sin virtualizacin Con virtualizacin

2015 ULPGC - Jos Miguel Santos 45


Tema 1
FIN de la primera parte

2015 ULPGC Jos Miguel Santos Espino

También podría gustarte