Introducción A Los Sistemas Operativos

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

SISTEMAS OPERATIVOS.

INTRODUCCIÓN. DEFINICIONES.
PROCESOS
TEMA 1
1.1. Introducción. Sistema Operativo
Programas encargados de proporcionar al usuario la capacidad de
manejo y utilización de la máquina.

Memoria Dispositivos de
Entrada / Salida

Procesador

Software
1.2 Definición de sistema operativo

• Un sistema operativo es un programa que actúa como


intermediario entre el usuario y el hardware. Cuyo objetivo es
simplificar el manejo de la máquina, ofreciendo al usuario un
entorno cómodo, seguro y eficiente, donde pueda llevar a cabo sus
tareas.

• Un sistema operativo es un conjunto de programas que,


ordenadamente relacionados entre sí, contribuyen a que el
ordenador lleve a efecto correctamente el trabajo encomendado.
1.3 OBJETIVOS

Desde el punto de vista del usuario, el sistema operativo consiste en una


serie de programas y funciones que ocultan los detalles del hardware,
ofreciéndole una vía sencilla y flexible de acceso al mismo, teniendo dos
objetivos fundamentales:

❑ Seguridad

❑ Abstracción
SEGURIDAD

El sistema operativo debe actuar contra cualquier manipulación extraña


ya sea accidental o premeditada que pudiera dañar la información,
perjudicar a otros usuarios o provocar un funcionamiento indeseado del
sistema.

Algunos sistemas proporcionan dos estados, llamados estado protegido


(Sistema o Kernel), en el cual se ejecuta el sistema operativo, y estado
no protegido (Usuario o User), que es el destinado a la ejecución de los
programas de usuario y de aplicación.
ABSTRACCIÓN
Los sistemas operativos enmascaran los recursos físicos, permitiendo
su manejo con funciones más generales que ocultan las básicas,
constituyendo verdaderos recursos ficticios o virtuales, que mejoran y
son más potentes que los físicos.
ABSTRACCIÓN
Desde el punto de vista de un programa o usuario, la máquina física se convierte,
gracias al sistema operativo, en una máquina virtual, también conocida como
máquina extendida, que presenta la ventaja respecto a la física de ofrecer más
funciones de las que normalmente soportaría esta última.
ABSTRACCIÓN
El sistema operativo proporciona servicios que no están presentes en la
máquina subyacente como

 Facilidades de carga y ejecución de programas,

 Interacción entre el usuario y los programas

 Permite la ejecución simultánea.

 Gestión de la contabilidad para facturar los servicios

 Almacenamiento de datos y programas.

 …
SISTEMA OPERATIVO

Como resumen, podemos decir que el sistema operativo persigue


alcanzar la mayor eficiencia posible del hardware, y facilitar el uso
del mismo a los usuarios y a las aplicaciones.
1.4 FUNCIONES DE UN SISTEMA OPERATIVO
CAPAS DEL SISTEMA OPERATIVO
Un SO está formado esencialmente por 3 capas:
CAPAS DEL SISTEMA OPERATIVO
• Capa del Núcleo (Kernel): capa más cercana al HW. Es la que gestiona los
recursos HW de la máquina y suministra la funcionalidad básica del SO.
• Capa de servicios o llamadas al sistema: ofrece a los programas y
programadores unos servicios en forma de interfaz de nominada API
(application programming interface) Interfaz de programación de aplicaciones.
El SO ofrece una máquina virtual extendida a los programas, ya que estos se
apoyan en funciones que suministra directamente el SO.
• Capa de Shell o interprete de comandos: ofrece al usuario un interfaz, a
través de la cual puede dialogar de forma interactiva con la máquina. El Shell
recibe los mandatos u órdenes del usuario, los interpreta y ejecuta.
FUNCIONES DEL SISTEMA OPERATIVO
• Gestión de recursos (capa del núcleo)
• Maquina extendida (capa de servicios): ejecución de servicios para
los programas.
• Interfaz de usuario (capa de Shell): ejecución de las órdenes de los
usuarios.
EL SISTEMA OPERATIVO COMO GESTOR DE RECURSOS
 El SO se encarga del uso y asignación de recursos.

 Los recursos que maneja el SO son tanto físicos como lógicos.

 Entre los físicos se encuentran el procesador, la memoria principal y los


periféricos.

Y como lógicos están los archivos, directorios y puertos de comunicación.

 Garantizar la integridad de cada uno de los programas, manteniendo


la confidencialidad de la información

 Analizar o contabilizar el uso que hacen los programas de los


recursos. Monitorización: conocer la carga del sistema.
EL SISTEMA OPERATIVO COMO MÁQUINA EXTENDIDA
 Ejecución de programas: permiten lanzar, parar o abortar la ejecución de un
programa. La ejecución de programas da lugar al concepto de proceso. Un
proceso se podría definir como un programa en ejecución.
 Gestión de la memoria: Asociada a la gestión de procesos. Para ejecutar un
proceso es necesario asignarle unas direcciones de memoria exclusivas para
él y cargarlo en ellas, cuando el proceso finalice su ejecución es necesario
liberar las direcciones de memoria que estaba usando.
 Operaciones de E/S: la programación de operaciones E/S son muy complejas
y dependientes del HW de cada periférico. Por ello, estos servicios de E/S
ofrecen un alto nivel de abstracción al programador, que no debe
tener en cuenta los detalles.
EL SISTEMA OPERATIVO COMO MÁQUINA EXTENDIDA
 Operaciones sobre archivos: Creación, borrado, apertura, escritura y
lectura de archivos.
 Gestión de la red. El SO es el encargado de gestionar los distintos
niveles de red, los drivers (controladores) de los dispositivos
involucrados en la red, los protocolos de comunicación, las
aplicaciones de red, etc.
 Detección y tratamiento de errores: analizar las órdenes recibidas,
tratar los errores que detecte el HW (errores de E/S, errores en
acceso a memoria, desbordamientos, violación de memoria,
instrucciones prohibidas, etc.)
EL SISTEMA OPERATIVO COMO INTERFAZ DE USUARIO
 Permite al usuario comunicarse con la máquina.

 Puede ser un interfaz textual (mediante órdenes escritas) o grafico


(medios gráficos como iconos, cursores, etc.), para comunicarse con
la maquina).
 El Shell se comporta como un bucle infinito en el que repite
constantemente la siguiente secuencia:
 Esperar una orden del usuario.

 Analiza la orden y si es correcta la ejecuta utilizando los servicios del


sistema operativo.
 Concluye la orden y vuelve a la espera.
1.5 COMPONENTES DEL SISTEMA OPERATIVO

SERVICIOS

Gestión de
archivos
NÚCLEO
 Parte del sistema operativo encargada de interactuar
directamente con el hardware de la máquina.

 Funciones:

 Gestión de los recursos

 Gestión del procesador

 Tratamiento de interrupciones

 Funciones básicas de tratamiento de la memoria.


SHELL

 Interpreta y trata las órdenes de los usuarios.


LA CAPA DE SERVICIOS
 Gestión de procesos: se encarga de crear, planificar y destruir los procesos.
 Gestión de memoria: se encarga de la asignación y liberación de la memoria
solicitada por los procesos. Debe conocer en cada momento que partes de la
memoria están libres y cuales ocupadas.
 Gestión de la E/S: Se ocupa del manejo de los dispositivos periféricos.
 Gestión de archivos y directorios: Su cometido es el manejo de archivos,
directorios y almacenamiento secundario.
 Comunicación y sincronización de procesos: Ofrece los mecanismos
necesarios para la correcta ejecución y comunicación de los procesos.
 Seguridad y protección: Garantiza la privacidad de los usuarios y define las
condiciones con las que pueden acceder a los recursos.
1.6 ESTRUCTURA DEL SISTEMA OPERATIVO

 Cada SO estructura u organiza de una forma diferente estos componentes.

 En base de esa estructura, los SO se pueden dividir en dos grandes grupos:

 Monolíticos

 Estructurados
SISTEMAS OPERATIVOS MONOLÍTICOS

 No tienen una estructura clara y bien definida.

 El sistema operativo está formado por un único programa dividido en


rutinas y sus funciones se ejecutan directamente en modo núcleo.

 Muy rápidos en su ejecución (solo hay que ejecutar un programa) pero


cuentan con el inconveniente de carecer de la flexibilidad suficiente para
soportar diferentes ambientes de trabajo o tipos de aplicaciones.

 Suelen ser hechos a medida, para solucionar un problema en concreto y no


para trabajar de forma generalista.

 Como ejemplo de este tipo de sistemas están el MS-DOS y UNIX.


SISTEMAS OPERATIVOS ESTRUCTURADOS

 Existen dos tipos de estructuras, que son las que normalmente se


aplican a los SO:

La estructura de capas

La estructura cliente-servidor:


SISTEMAS OPERATIVOS ESTRUCTURADOS. ESTRUCTURA DE CAPAS
 El sistema operativo se organiza en una serie de capas con un orden
jerárquico concreto.
 Cada capa ofrece una interfaz, clara y bien definida, a la capa superior
y solo utiliza los servicios que le ofrece la capa inferior.
 Las ventajas de este tipo de estructura son la modularidad y la
ocultación de información.
 Una capa no necesita saber cómo se ha implementado la capa inferior a
ella, únicamente necesita conocer la interfaz que le ofrece.
 Esto permite que las capas se puedan ir construyendo y depurando por
separado.
EJEMPLO DE ESTRUCTURA DE CAPAS
CAPA 5: Programas de usuario

CAPA 4: Gestión de la E/S

CAPA 3: Comunicación operador - proceso

CAPA 2: Gestión de memoria

CAPA 1: Planificador y multiprogramación

CAPA 0: Hardware
ESTRUCTURA DE CAPAS ANILLOS CONCÉNTRICOS O "RINGS"
ESTRUCTURA DE CAPAS ANILLOS CONCÉNTRICOS O "RINGS"
 Cada anillo tiene una apertura, conocida como puerta o trampa (trap), por
donde pueden entrar las llamadas de las capas inferiores.
 Las zonas más internas del SO o núcleo del sistema están más protegidas y más
privilegiadas que las externas.
 Cada capa supervisa a la capa que tiene por encima, de modo que para que algo se
ejecute en la capa 5, por ejemplo, debe recibir permiso y supervisión de la capa 4,
que esta supervisada por la 3, y así sucesivamente.
 Cuanto más al “exterior” de la estructura se ejecute un programa, más lento va a
ser su funcionamiento ya que va a recibir un gran número de supervisiones. Por el
contrario, cuanto más en el interior se ejecute un proceso, mayor será su
velocidad.
 En el centro se encuentra el Kernel o Núcleo, que es su parte más importante.
ESTRUCTURA CLIENTE-SERVIDOR
ESTRUCTURA CLIENTE-SERVIDOR

 Implementa la mayor parte de los servicios y funciones del SO para que


sean ejecutadas en modo servicio, dejando solo una pequeña parte
ejecutándose en modo núcleo (micronúcleo).
 A los procesos que ejecutan el resto de funciones se les denomina
servidores.
 Las funciones que suele llevar a cabo el micronúcleo son: la gestión de
interrupciones, la gestión de procesos y la gestión de memoria.
ESTRUCTURA CLIENTE-SERVIDOR
 Para solicitar un servicio, como por ejemplo crear un proceso, el programa de usuario
(proceso denominado cliente) solicita el servicio al servidor correspondiente, en este caso
al servidor de procesos. A su vez este, puede requerir servicios de otros servidores, como
por ejemplo al de memoria, convirtiéndose en cliente de otro servicio.

 La ventaja de esta estructura, es que es muy flexible, ya que cada proceso servidor
solo se encarga de una funcionalidad concreta, lo que le convierte en una parte pequeña y
manejable.

 La desventaja que presenta es que estos sistemas se sobrecargan más que los de
estructura monolítica. Esto es debido a que cada componente ejecuta sus funciones en
espacios de direcciones distintos, lo que requiere mayor tiempo y recursos.

 Algunos ejemplos de sistemas operativos estructurados como cliente-servidor son:


Minix y proyecto Amoeba.
ESTRUCTURA DEL SISTEMA OPERATIVO

Monolíticos
Estructura de capas o
Estructura del SO
anillos concéntricos
Estructurados
Estructura
Cliente/Servidor
1.7 CLASIFICACIÓN DE LOS SO SEGÚN SU VISIÓN INTERNA
Según el número de usuarios que soporta concurrentemente:

✓ Monousuarios. Soportan a un usuario a la vez, sin importar el número de


procesadores que tenga la computadora o el número de procesos o tareas
que el usuario pueda ejecutar en un mismo instante de tiempo. Las
computadoras personales típicamente se han clasificado en esta sección.

✓ Multiusuario. Son capaces de dar servicio a más de un usuario a la vez, ya


sea por medio de varias terminales conectadas a la computadora o por
medio de sesiones remotas en una red de comunicaciones. No importa el
número de procesadores en la máquina ni el número de procesos que cada
usuario puede ejecutar simultáneamente.
Según el número de tareas que puede ejecutar concurrentemente:

✓ Monotareas. Sólo permiten una tarea a la vez por usuario. Puede darse el
caso de un sistema multiusuario y monotarea, en el cual se admiten varios
usuarios al mismo tiempo, pero cada uno de ellos puede estar haciendo solo
una tarea a la vez.

✓ Multitareas. Permite al usuario estar realizando varias labores al mismo


tiempo. Por ejemplo, puede estar editando el código fuente de un programa
durante su depuración mientras compila otro programa, a la vez que está
recibiendo correo electrónico en un proceso en background (segundo
plano). Es común encontrar en ellos interfaces gráficas orientadas al uso de
menús y el ratón.
Según el número de procesadores que puede gestionar:
✓ Uniproceso. Es capaz de manejar solamente un procesador de la
computadora, de manera que si la computadora tuviese más de uno le sería
inútil. Por ejemplo, Windows 98

✓ Multiproceso. Es capaz de manejar más de un procesador en el sistema,


distribuyendo la carga de trabajo entre todos los procesadores que existan
en el sistema. Generalmente estos sistemas trabajan de dos formas:
simétricamente o asimétricamente.
Multiproceso asimétrico

✓ El SO selecciona a uno de los procesadores el cual jugará el papel de


procesador maestro y servirá como pivote para distribuir la carga a los
demás procesadores, que reciben el nombre de esclavos.

✓ El único procesador que realmente tiene acceso a todos los recursos del
sistema es el maestro, que relega en los esclavos los trabajos que le van
llegando. Es un sistema simple de construir y donde es muy fácil añadir
más procesadores esclavos.
Multiproceso simétrico
 Los procesos o partes de ellos (threads, hebras o hilos) son enviados indistintamente a
cualquiera de los procesadores disponibles, teniendo una mejor distribución y
equilibrio en la carga de trabajo bajo este esquema.

 Se dice que un thread es la parte activa en memoria y corriendo de un proceso, lo cual


puede consistir de un área de memoria, un conjunto de registros con valores
específicos, la pila y otros valores de contexto.

 Es un sistema mucho más difícil de construir, y es también tremendamente


complicado añadir más procesadores, pero tiene la gran ventaja de ser muchísimo más
práctico, ya que cada procesador tiene acceso a todos los recursos y las cargas de
trabajo se pueden dividir de forma mucho más rápida..
Multiproceso

La aplicación debe construirse específicamente para aprovechar varios


procesadores. Existen aplicaciones que fueron hechas para correr en
sistemas uniproceso que no aprovechan el multiproceso, ya que el código
debe contener secciones de código paralelizable (que se puedan correr en
paralelo), los cuales son ejecutados al mismo tiempo en procesadores
diferentes:
Multiproceso simétrico
1.8 SISTEMAS OPERATIVOS SEGÚN SU VISIÓN EXTERNA
 SISTEMAS OPERATIVOS DE ESCRITORIO (SO clientes)
 Equipos personales, estaciones de trabajo, portátiles, etc.
 SO preparados para permitir un uso fácil por parte del usuario, destacan en
multimedia, juegos, sonido, ofimática, etc. Ejemplos: Windows 7 o 10.
 SISTEMAS OPERATIVOS EN RED Y SERVIDORES
 Interactúan con SO en otras computadoras por medio de un medio de
transmisión
 El usuario puede acceder a la información no solo de su máquina, sino a la
de cualquier máquina de la red
 Hoy en día todos los SO son SO en red
 Solemos llamar SO en red a los SO que funcionan como servidores en una
red. Ejemplos: Windows Server o Linux Server
1.8 SISTEMAS OPERATIVOS SEGÚN SU VISIÓN EXTERNA

 SISTEMAS OPERATIVOS DISTRIBUIDOS


 Colección de equipos informáticos separados físicamente y conectados
entre sí por una red de comunicaciones distribuida.
 Cada máquina posee sus componentes de HW y SW de modo que el
usuario percibe que existe un solo sistema
 Son muy confiables, si un componente se descompone otro componente
debe de ser capaz de reemplazarlo, esto se denomina Tolerancia a Fallos.
 El tamaño de un SD puede ser muy variado, decenas de hosts (área local),
centenas de hosts (área metropolitana), y miles o millones de hosts
(Internet); esto se denomina escalabilidad
1.8 SISTEMAS OPERATIVOS SEGÚN SU VISIÓN EXTERNA
 SISTEMAS OPERATIVOS DISTRIBUIDOS
 Hay un tipo de computación, grid que permite compartir recursos no
centrados geográficamente para resolver problemas de gran escala.
 Clustering es otro método para crear sistemas de supercomputadoras
Un cluster o racimo de computadoras consiste en un grupo de computadoras
de relativo bajo costo conectadas entre sí mediante un sistema de red de alta
velocidad.
Este tipo de sistemas cuentan con un centro de almacenamiento de datos
único. Los clusters tienen la ventaja de ser sistemas redundantes, si falla un
equipo se resiente un poco la potencia del cluster, pero los demás equipos
hacen que no se note el fallo.
En un cluster normalmente todos los equipos están ubicados en una misma
red de área local, mientras que en un grid los equipos suelen estar
distribuidos por todo el mundo.
Ejemplo de Cluster: Google
 Se estima que en 2013 tenía unos 900.000 ordenadores,
distribuidos en varias sedes por el mundo.
 Cada sede esta formada por clusters
 Cada cluster de Google esta formado por miles de ordenadores y
en los momentos que se detecta que el sistema está llegando al
límite de su capacidad, se instalan cientos de ordenadores más en
pocos minutos, aumentando así la potencia de cada cluster
 Estos equipos son ordenadores como los que usamos nosotros
corriendo versiones especiales de Linux, modificada por Google
para que permitan la formación de estos clusters
1.8 SO según su visión externa

SO de
escritorio

SO según su SO en red y
visión externa servidores

SO
distribuidos
1.9 SISTEMAS OPERATIVOS POR SU DISPONIBILIDAD
 Sistemas Operativos propietarios
 Son sistemas propiedad de la empresa que los desarrolla.
 Se vende una licencia de uso, no el SO
 No se tiene acceso al código fuente del sistema, o por lo menos, no se tiene permiso para
modificarlo libremente
 También está prohibido distribuir estos sistemas, o usarlos de formas no autorizadas por la
empresa desarrolladora.
 Ejemplo: Toda la familia Windows
 Sistemas Operativos libres
 Se ha renunciado a cualquier tipo de propiedad intelectual.

 Son sistemas que pueden usarse libremente, ser distribuidos, permiten que se acceda a
su código fuente y permiten que esté sea modificado de la forma que queramos.
 Libres no quiere decir gratis.
Clasificación de los S.O y la aplicaciones en general
según su disponibilidad
SISTEMAS OPERATIVOS POR SU TIPO DE LICENCIA
 O.E.M. (original equipment manufacturer). fabricante de equipamiento original
 Son otorgadas por el desarrollador del SO alfabricante de HW, de modo que cuando se
compra uno de sus equipos, este viene con una licencia de uso del SO de tipo OEM
 El SO viene preparado para ese HW específicamente, no se tiene realmente una licencia de
uso del SO, sino una licencia de uso del SO únicamente para ese HW en concreto.
 Son las más económicas, y suelen venir sin manuales ni cajas.

 RETAIL
 Se compra directamente al desarrollador

 Podemos instalarlo en cualquier tipo de HW compatible, revender la licencia o cederla, etc.

 Normalmente solo permiten su uso en una sola maquina a la vez. Vienen con su caja y
manuales.
 Se puede elegir entre una licencia completa, o una licencia de actualización, que permite
actualizar un sistema anterior al nuevo, por un coste algo más reducido.
SISTEMAS OPERATIVOS POR SU TIPO DE LICENCIA
 VLM (LICENCIAS POR VOLUMEN).
 Con una única clave de licencia, podemos utilizar varias máquinas a la vez. Es habitual
que existan licencias de 25 usos concurrentes, 50, etc.
 Son las licencias más caras, aunque son bastante más económicas que comprar cada
una de las licencias individualmente
 MSDN (LICENCIAS DE EDUCACIÓN).
 Licencias especiales de Microsoft con uso únicamente para actividades educativas y
de formación.
 Cualquier uso de estas licencias en equipos que desarrollen actividades fuera de este
ámbito, es ilegal.
 Existen también licencias de este tipo para empresas de desarrollo, academias, etc.

También podría gustarte