Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 19

SISTEMAS

OPERATIVOS
INTRODUCCION
• El software se puede dividir en dos clases: SO y
aplicativos
• El SO es el encargado de la administración de los
recursos físicos y lógicos de la PC,
• Un sistema computacional actual consta de uno o varios
procesadores, terminales, memoria central, relojes,
dispositivos de I/O, siendo transparente para el
programador todas estas actividades de administración.
Programas de Aplicación

Hardware
Concepto de Sistema
operativo
Un sistema operativo es un conjunto de programas que
generan una (o más) máquinas virtuales (MV)

Una MV es:
- Una máquina que no existe físicamente, pero funciona
- Tiene un soporte Hw
- Es instanciable
Recursos en un sistema
computacional
Recursos Físicos
Hardware. Ejemplos: Procesador, memoria, buses, registros, …

Recursos Lógicos
Aquellos que son generados por software. Por ejemplo
vectores, matrices, archivos, pilas, listas, colas, objetos, …
Funciones Básicas del
Sistema operativo
Un sistema operativo es un conjunto de programas integrados
que tienen como objetivo aprovechar el hardware de una
computadora y utilizarlo en forma segura y eficiente.
Para lograrlo, se pueden resumir las siguientes funciones
básicas:

• Administrar los recursos de la máquina (asignar, liberar,


proteger).

• Servir de interfaz entre el usuario y la computadora.


(Ocultar al usuario loa detalles del funcionamiento del Hw)
Gestionar los recursos
disponibles en la computadora
Una computadora está constituida por una gran cantidad de elementos
(recursos) de distintos tipos.

Cada uno de ellos necesita ser coordinado y operado correctamente para


integrar un sistema capaz de recibir datos de entrada, procesarlos y
producir datos de salida.

Ese conjunto de rutinas de software que se encargan de gestionarlos, es


una parte esencial del sistema operativo, sin esta parte intermediaria, los
dispositivos no se pueden coordinar solos para trabajar y, lo más
importante, no pueden operar como un equipo de procesamiento de datos.
Ser una interfaz entre el
usuario y la computadora
Cuando el usuario ejecuta una aplicación (proceso), el sistema
operativo funge como un intermediario que procesa el deseo
del usuario externo mediante un comando o la activación algún
botón.
Al interpretar la orden, el sistema operativo determina los
recursos necesarios para la aplicación y gestiona su
disponibilidad.
Cada vez que el usuario introduce datos o ejecuta órdenes el
sistema operativo debe de procesarlos, obteniendo y
presentando un resultado que el mismo usuario espera recibir.
Este proceso se repite una y otra vez mientras el sistema
operativo siga activo.
Los detalles de cómo operan esos recursos son ocultados por
el SO.
Proceso o Tarea
• Proceso: instancia de un programa en ejecución.
• Un mismo programa puede dar lugar a varios procesos
Cada proceso ocupa un espacio en memoria y tiene
unos datos y un conjunto de estructuras de datos a
gestionar.
• Todo proceso tiene un entorno de ejecución
• El proceso es el elemento central de la ejecución y el
que realiza los trabajos del usuario.
• Todas las estructuras del sistema operativo están
orientadas a la gestión de procesos.
• OJO: Un programa no es proceso, pero todo proceso tiene
asociado un programa.
Threads - Hilos
• Un thread es un camino de ejecución
• Todo proceso tiene al menos un thread (pero puede
tener más de uno).
• Todo hilo tiene:
• Su propio ip (contador de programa)
• Pila de ejecución 
• Estado de la CPU (incluyendo el valor de
los registros)

• Comparte con otros hilos:


• Datos y espacios de direcciones
Threads - Hilos
Proceso monothread (monohilo)

Proceso multithread (multihilo)


Threads - Hilos
Un Thread es una característica que permite a una aplicación realizar
varias tareas a la vez (concurrentemente).

Es importante no confundir el concepto de Multithreading con


Multitasking (Multitarea).
Threads - Hilos
Los Threads son una ampliación del concepto de multitarea. Si bien multitarea
se refiere a la capacidad de un sistema para ejecutar varios procesos a la vez,
en un comienzo esto hacia referencia a que más de una aplicación se estuviera
ejecutando de manera concurrente, sin embargo pronto se hizo notoria la
necesidad de que una misma aplicación hiciera varias cosas a la vez. Allí
nacieron los Threads.

En un sistema multitarea se puede tener los procesos A, B y C ejecutándose


simultáneamente, pero que pasaba si el proceso A debía mostrar una interfaz
gráfica y de paso estar escribiendo un archivo a la vez? No era posible.
Threads - Hilos
El proceso debía terminar de escribir en disco antes de volver a trabajar en su
interfaz gráfica lo cual no era precisamente algo deseable.

Así que surgió la idea de permitir que un proceso pueda tener una o mas
tareas ejecutándose a la vez o al menos que así lo percibiera el usuario, de tal
forma que cada vez que a un proceso le correspondiera un quantum de
ejecución, el sistema alterne entre ejecutar una de sus tareas u otra.

Esto conlleva a la necesidad de reestructurar el concepto de proceso, ya que


un proceso no es la unidad mínima de ejecución puesto que ahora el proceso
es un conjunto de tareas (en adelante hilos o threads).

Un proceso que en apariencia no utiliza threads realmente se esta ejecutando


en un único thread.
Clasificación de los SO
Program Status Word (PSW) – Palabra de
Estado del Programa (PEP)
La PEP (PSW) es un conjunto de registros que describe a un proceso.
La PEP contiene entre otros los siguientes campos:
•Pid (Process Identifier)
•Ip (Instruction Pointer o Contador de Programa)
•Prioridad
•Paths (rutas de acceso a los archivos)
•Owner (propietario del proceso)
•Registro Base
•Registro Límite
•Máscara
•Estado
•….
Pep y Multitarea
La PEP es el mecanismo que utiliza el SO para implementar la multitarea

Un proceso conta de:

•PEP
•Código
Contexto de ejecución del proceso
•Datos
•Stack
•….

Cuando un proceso es planificado (scheduling) recibe el procesador por un


lapso de tiempo (quantum), entonces su contexto es cargado a los registros de
la máquina. Una vez superado el quantum, se le despoja del procesador, se
guarda su contexto y se planifica otro proceso.
PEP - Multitarea
Noción de estados

You might also like