Está en la página 1de 53

Introducción a los Sistemas

Operativos
Objetivos

Al finalizar el capítulo el estudiante


deberá manejar los conceptos básicos de
los S.O.; así como conocer la historia de
los mismos y una breve reseña de los
más importantes S.O.
Introducción a los Sistemas
Operativos

Conceptos Básicos
¿Qué es un Sistema Operativo?

Es un Programa que realiza lo siguiente:


 Controla la ejecución de las demás

aplicaciones.
 Actúa como intermediario entre el

usuario y el hardware.
Funciones de los S.O.
 Gestión de los recursos de la computadora.
 Ejecución de servicios para los programas.
 Ejecución de los mandato: de los usuarios.
Funciones de los S.O.
 Gestión de los recursos de la computadora.
 Ejecución de servicios para los programas.
 Ejecución de los mandato: de los usuarios.
Funciones de los S.O.
 La capa mas cercana al hardware se denomina
núcleo (kernel).

 La capa de servicios o llamadas al sistema ofrece a


los programas unos servicios en forma de una
interfaz de programación o API (application
programming interface)

 La capa de intérprete de mandatos o shell


suministra una interfaz a través de la cual el
usuario puede dialogar de forma interactiva con la
computadora.
Enfoque SO según su función
 El sistema operativo como gestor de recursos
 Asignación de recursos
 Protección
 Contabilidad
 El sistema operativo como máquina extendida:
 Ejecución de programas
 Órdenes de E/S
 Operaciones sobre archivos
 Detección y tratamiento de errores
 El sistema operativo como interfaz de usuario:
 Shell
 Interfaz Gráfica
Introducción a los Sistemas
Operativos

Estructura
COMPONENTES Y ESTRUCTURA DEL
SISTEMA OPERATIVO

El sistema operativo está formado por tres capas:

 Nucleo
 Servicios
 intérprete de mandatos o shell.
COMPONENTES DEL SISTEMA
OPERATIVO
EL NUCLEO

El Núcleo Es la parte del sistema operativo que


interacciona directamente con el hardware de la
máquina. Las funciones del núcleo se centran:
En la gestión de recursos, como el procesador,
tratamiento de interrupciones y las funciones
básicas de manipulación de memoria.
COMPONENTES DEL SISTEMA
OPERATIVO
EXOKERNEL
Es un sistema operativo de MIT (y una clase de sus
variantes) que maneja relativamente poca abstracción de
hardware. En exokernel, las responsabilidades de bajo
nivel de controlar el hardware (particularmente la
asignación de memoria ) a menudo quedan en manos
del desarrollador. Muchos desarrolladores probablemente
preferirían que el sistema operativo se responsabilice más
de esas tareas de bajo nivel, porque la mayoría de los
desarrolladores solo escriben aplicaciones.
COMPONENTES DEL SISTEMA
OPERATIVO
EXOKERNEL
Un exokernel simplemente asigna recursos de
hardware físico a los programas . Esto permite que el
programa use la biblioteca de librerías , que están
vinculados para proporcionar parte de la abstracción que
el exokernel no está proporcionando. 
Dada la aplicación, esto puede tener grandes beneficios de
rendimiento. En el caso de exokernel, Podemos programar
directamente "al metal", pero también elegir vincular en
un modelo de abstracción cuando lo deseemos. Es un
concepto muy poderoso.
COMPONENTES DEL SISTEMA
OPERATIVO
MICROKERNEL Y VARIANTES
El término nanokernel se usa para describir
un tipo específico de kernel . El prefijo "pico-" o "nano-",
"micro-" generalmente denota el "tamaño" del núcleo. Los
núcleos más grandes están más construidos con más
funciones y manejan más abstracción de hardware .
Los nanokernels son núcleos relativamente pequeños
que proporcionan abstracción de hardware ,
pero carecen de servicios del sistema . Los microkernels
modernos también carecen de servicios del sistema, por lo
que los términos se han vuelto análogos.
COMPONENTES DEL S.O.
SERVICIOS

Los servicios se suelen agruparse según su


funcionalidad en varios componentes, cada uno de
cuales se ocupa de las siguientes funciones:
Gestión de procesos. Encargada de la creación,

planificación y destrucción de procesos.


Gestión de memoria. Componente encargada de

saber qué partes de memoria están libres y cuáles


ocupadas, así como de la asignación y liberación
de memoria según la necesiten los procesos.
Proceso
 Un programa en ejecución.
 Una instancia de un programa funcionando
en un computador.
 La entidad que puede ser asignada al
procesador y ejecutada por él.
 Una unidad de actividad caracterizada por
un sencillo tratamiento de ejecución
secuencial, un estado actual, y asociada a un
conjunto de recursos del sistema.
Estructura del S.O.
 El S.O. se encuentra entre el hardware y los
programas de aplicación.
 El diseño y estructura de un S.O. dependerá de
las perspectivas que se tienen del mismo.
 El siguiente glosario nos será de mucha ayuda
en este capítulo:
• Módulos: Las principales abstracciones y Servicios
de los S.O.
• Interfaces: Operaciones específicas dadas por los
módulos.
• Estructura: Forma en que los módulos se conectan
entre sí.
Estructura del S.O.
intérprete de mandatos o shell

 Todos estos componentes ofrecen una serie de


servicios a través de una interfaz de llamadas
sistema. Como se muestra en la Figura un
sistema operativo puede incluir más de una
interfaz de servicios (en la figura se han
considerado las interfaces Win32 y POSIX)
COMPONENTES Y ESTRUCTURA DEL
SISTEMA OPERATIVO

Glosario
POSIX es el acrónimo de Portable Operating System
Interface, y X viene de UNIX como seña de identidad de la
API. El término fue sugerido por Richard Stallman en la década
de 1980, respuesta a la demanda de la IEEE, que buscaba un
nombre fácil de recordar.
WIN32 API de Microsoft proporciona un kit de desarrollo de
software en el que se incluyen la documentación y las
herramientas necesarias para que los programadores puedan
crear sus aplicaciones y aprovechar los recursos del sistema.
Las versiones modernas de Windows utilizan la API de 32 bits
llamada Win32.
COMPONENTES DEL SISTEMA
OPERATIVO
Estructura del S.O.
 Ejemplos de perspectivas desde las
que se puede analizar un S.O. son:
• Examinar los servicios que proporciona
• Explorar la interfaz que ofrece a los
usuarios y programadores.
• Desglosar el sistema en sus componentes y
estudiar sus interconexiones.
Componentes Comunes del S.O.
 No existe una división única de componentes de
un S.O.
 Las siguiente división de componentes es una
propuesta general
• Administración de Procesos
• Administración de Memoria
• Administración de Archivos
• Administración de E/S
• Administración de almacenamiento secundario
• Networking
• Sistema de Seguridad
• Interprete de órdenes
Administración de Procesos
 Un proceso necesita ciertos recursos para su
ejecución como: tiempo del CPU, memoria,
archivos y operaciones de E/S para hacer su
tarea.
 El S.O. es responsable de la siguientes
actividades asociadas a los procesos:
• Creación y Eliminación de procesos
• Suspensión y Reanudación de procesos
• Provisión de mecanismos para:
 Sincronización de procesos

 Comunicación entre procesos.


Administración de Memoria
 Memoria Principal es un conjunto de palabras y
bytes, cada uno con su propia dirección.
 Es un repositorio de datos de acceso rápido, tanto
para el CPU como para los dispositivos de E/S
 El S.O. es responsable de la siguientes actividades
asociadas a la administración de la memoria:
• Llevar un control de las partes de la memoria que están
siendo usadas y por quién son usadas.
• Decidir que procesos cargar en memoria cuando hay
espacio disponible
• Reservar y liberar espacio en memoria
Administración de Archivos
 Un archivo es una colección de información
relacionada definida por su creador.
 El S.O. es responsable de la siguientes
actividades asociadas a la administración de los
archivos:
• Creación y eliminación de archivos
• Soporte de funciones para acceso a los archivos y
directorios
• Mapeo de archivos en los dispositivos de
almacenamiento secundario
• Respaldo de archivos sobre medios de almacenamiento
no volátil
Administración de E/S
 El sistema de E/S consiste de:
• Un sistema de buffers, caches y spool para gestión
de memoria
• Una interfase general con los controladores de los
dispositivos
• Drivers para dispositivos de hardware específico
 El S.O. es responsable de ocultar las
peculiaridades de dispositivos de hardware
específicos.
Administración de
almacenamiento Secundario
 El S.O. debe contar con algún almacenamiento
secundario para respaldar la memoria principal.
 La mayoría de los S.O. modernos usan discos
como el principal medio de almacenamiento en
línea, tanto para datos como para los programas.
 El S.O. es responsable de la siguientes
actividades asociadas a la administración de los
archivos:
• Administración del espacio libre
• Asignación de almacenamiento
• Planificación del disco
Networking
 Un S.O. distribuido es una colección de
procesadores que no comparten ni la memoria, ni
el reloj.
 Los procesadores en el sistema están conectados a
través de una red de comunicación.
 Para establecer la comunicación se usa un
protocolo.
 Un sistema distribuido provee acceso a servicios
y recursos remotos
 El S.O. es responsable de proveer los canales de
comunicación apropiados para conectarse a una
red de comunicaciones.
Sistema de Seguridad
 Seguridad se refiere a un mecanismo para
controlar el acceso de procesos o usuarios
a los recursos del computador.
 El Sistema de seguridad de un S.O. debe:
• Distinguir entre uso autorizado y no
autorizado
• Especificar los controles que se impondrán
• Especificar la forma en que se hará cumplir
con los controles.
Intérprete de Ordenes
 Uno de los programas más importantes del S.O. es
el intérprete de órdenes o de comandos (Shell).
 Es la interfaz entre el usuario y el S.O.
 La mayoría de las órdenes que se dan al S.O.
vienen en enunciados de control
 La función del shell es muy sencilla: obtener la
siguiente orden y ejecutarla
 En general los enunciados de control (orden)
tienen que ver con:
• Administración y creación de procesos
• Manejo de E/S
• Administración de almacenamiento secundario, etc
Servicios del S.O.
 Ejecución de programas – capacidad del S.O.
para cargar un programa en memoria y
ejecutarlo
 Operaciones de E/S – por cuestiones de
seguridad los usuarios no pueden controlar
los dispositivos de E/S directamente. El S.O.
debe incluir un mecanismo para realizar estas
operaciones
 Manipulación del sistema de archivos –
capacidad de crear, leer, escribir, actualizar y
borrar archivos.
Servicios del S.O.
 Comunicaciones – intercambio de
información entre procesos que se están
corriendo al mismo tiempo, ya sea en el
mismo CPU o en la misma red. Hay 2 formas
de hacerlo y es compartiendo memoria o
enviandose mensajes.
 Detección de Errores – Asegura que para
todos los posibles errores que puedan darse
(E/S, errores de computo, desbordamiento de
memoria, etc) el S.O. emprenda una acción
apropiada.
Servicios del S.O.
Además de estos servicios, existen otros cuya
función principal no es ayudar al usuario; sino
asegurar el funcionamiento eficiente del S.O.
 Asignación de recursos – Reserva de recursos
para múltiples usuarios o múltiples procesos
corriendo al mismo tiempo
 Contabilización (Estadísticas) – guarda datos
históricos de información acerca de qué tantos
usuarios usan cuántos recursos, y de qué tipo
 Protección – Asegura que el acceso a los
recursos del sistema sean siempre controlados
Secuencia de arranque PC
Secuencia de arranque
Computador
Secuencia de arranque
Computador
El arranque del computador tiene 2 fases:

 Arranque hardware (Verde)


 Arranque del sistema operativo (Amarillo)
Secuencia de arranque PC
Arranque hardware
 La Memoria principal es volatil.
 Se tiene un programa permanente grabado en
la memoria ROM (Memoria no volatil)
 Memoria ROM tiene programa de arranque.
Conocido Iniciador ROM.
 Arranque de la PC, senal electrica carga valores
predefinidos en los registros. (en el contador
de programa la dirección de comienzo del
iniciador ROM)
Nota: La computadora solamente es capaz de realizar actividades útiles si
cuenta con el correspondiente programa cargado en memoria principal.
Secuencia de arranque PC
Arranque hardware

Iniciador ROM realiza tres funciones:


Hace una comprobación del sistema.(detecta

características y comprueba funcionamiento).


Fase de lectura y almacenamiento en memoria

del programa cargador del sistema operativo.


Finalmente da control a este programa.

Bifurcando a la dirección de memoria en la que


esta almacenado.
Nota: Programa iniciador ROM sea independiente del sistema operativo
Secuencia de arranque PC
Arranque hardware

En las PC la memoria ROM contiene, además del


programa iniciador, software de E/S denominado
BIOS (basic input-output system).

Nota: La BIOS la proporciona el fabricante y suele contener procedimientos


para leer y escribir caracteres del teclado y escribir en la pantalla.
Secuencia de arranque PC
Arranque hardware

 El S.O. se encuentra almacenado en una unidad


de disco, una parte de el es el cargador del S.O.
o boot del S.O.
 Este programa está almacenado en una zona
predefinida del disco (p.ej.: los cuatro primeros
sectores del disco) y tamaño prefijado.
 El iniciador ROM trae a memoria principal el
programa cargador del sistema operativo
Secuencia de arranque PC
Arranque hardware

 El programa iniciador ROM y el sistema operativo


tienen un convenio: sobre la ubicación, dirección
de arranque y tamaño del cargador del sistema.
Este convenio garantiza que se puedan cargar mas
de un sistema operativo.

 El sistema operativo incluye, en una posición


prefijada por el iniciador ROM, una contraseña
(palabra mágica). Verifica que contiene
efectivamente programa cargador de un sistema
operativo.
Secuencia de arranque
Computador
El arranque del computador tiene 2 fases:

 Arranque hardware (Verde).


 Arranque del sistema operativo
(Amarillo)
Secuencia de arranque PC
Arranque S.O.

Cargador de S.O trae a memoria principal algunos


los componentes del S.O. Este realiza fase de
iniciación:
Comprobación del sistema. (Completa la pruebas de

HW, Sistemas de Ficheros).


Se establecen las estructuras de información propias

del S.O. (Tabla de procesos, las tablas de memoria y


las de E/S).
Se carga en memoria principal parte del sistema

operativo que ha de estar siempre memoria, parte


que se denomina sistema operativo residente.
Secuencia de arranque PC
Arranque S.O.

 Se crea un proceso de inicio o login por cada


terminal definido en el sistema, así como una serie
de procesos auxiliares y de demonios (p. ej.; el
demonio de impresión o el demonio
comunicaciones).
 Los procesos de inicio presentan en su terminal el
mensaje de bienvenida y esperan login del usuario.
 Usuario se conecta y se lanza un proceso Shell. (el
«autoexec.bat» en MS-DOS o los «.login» y «.cshrc»
en UNIX). Este shell puede generar uno o varios
procesos.
Tipos Estructura del Sistema
Operativo
Un sistema operativo es un programa grande y complejo
que está compuesto, como se ha visto en la sección
anterior, por una serie de componentes con funciones bien
definidas.
 Sistemas operativos monolíticos.

 Sistemas operativos estructurados

 Sistemas por capa.


 Modelo cliente-servidor
Estructura del Sistema Operativo
Sistemas operativos monolíticos

Un sistema operativo de este tipo no tiene una estructura


clara y bien definida. Todos sus componentes se
encuentran integrados en un único programa (el sistema
operativo) que ejecuta en un único espacio de direcciones.
En este tipo de sistemas todas las funciones que ofrece el
sistema operativo se ejecuta en un modo núcleo.
Estructura del Sistema Operativo
Sistemas operativos Estructurados

Cuando se quiere dotar de estructura a un sistema


operativo, normalmente se recurre a dos tipos de
soluciones: sistemas:

Por capas
Sistemas cliente-servidor.
Estructura del Sistema Operativo
Sistemas operativos Estructurados por capas

 En un sistema por capas, el sistema operativo se


organiza como una jerarquía de capas, donde cada capa
ofrece una interfaz clara y bien definida a la capa
superior y solamente utiliza los servicios que le ofrece la
capa inferior.
 La principal ventaja es la modularidad y la ocultación
de la información. Una capa no necesita conocer como
se ha implementado la capa sobre la que se construye,
únicamente necesita conocer la interfaz que ofrece.
 Esto facilita enormemente la depuración y verificación
del sistema, puesto que las capas se pueden ir
construyendo y depurando por separado.
Estructura del Sistema Operativo
Sistemas operativos Estructurados por capas
Estructura del Sistema Operativo
Sistemas operativos Modelo Cliente Servidor

En este tipo de modelo, el enfoque consiste en


implementar la mayor parte de los servicios y funciones
del sistema operativo en procesos de usuario, dejando
solo una pequeña parte del sistema operativo ejecutando
en modo núcleo.
A esta parte se le denomina micronúcleo y a los procesos
que ejecutan el resto de funciones se les denomina
servidores.
No hay una definición clara de las funciones que debe
llevar a cabo un micronúcleo (gestión interrupciones,
procesos y comunicación entre procesos)
Estructura del Sistema Operativo
Sistemas operativos Modelo Cliente Servidor
Clasificación de los Sistemas
Operativos
 ADMINISTRACIÓN DE TAREAS:
 MONOTAREA: los que permiten sólo ejecutar un

programa a la vez
 MULTITAREA: los que permiten ejecutar varias

tareas o programas al mismo tiempo


 ADMINISTRACIÓN DE USUARIOS
 MONOUSUARIO: aquellos que sólo permiten trabajar

a un usuario, como es el caso de los ordenadores


personales
 MULTIUSUARIO: los que permiten que varios

usuarios ejecuten sus programas a la vez.


Clasificación de los Sistemas
Operativos
 ORGANIZACIÓN INTERNA O ESTRUCTURA
 Monolítico

 Jerárquico (Sistemas por capa)

 Cliente-servidor

 MANEJO DE RECURSOS O ACCESO A SERVICIOS


 CENTRALIZADOS: si permite utilizar los recursos de

un solo ordenador
 DISTRIBUIDOS: si permite utilizar los recursos

(CPU, memoria, periféricos...) de más de un ordenador


al mismo tiempo

También podría gustarte