Está en la página 1de 38

SISTEMAS

OPERATIVOS
Esp. EDWIN CHRISTIAN REVELO B.
Universidad de Nariño
INTRODUCCION
• El software se puede dividir en dos clases: SO y
aplicativos
• Es el encargado de la administración de los recursos
físicos y lógicos de la PC,
• El sistema moderno consta de uno o varios procesadores,
terminales, memoria central, relojes, dispositivos de I/O,
siendo este transparente para el programador todas estas
actividades de administración.
Sistema Reservacione Juegos
Bancario s en línea
aerolíneas Programas de Aplicación

Compiladores Editores Interprete


de
comandos

Sistema Operativo Programas de Sistema

Lenguaje de máquina

Microprogramación

Hardware
Dispositivos físicos
Concepto de 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:

• Gestionar los recursos de hardware de la


computadora.
• Ser una interfaz entre el usuario y la computadora.
• Ser la plataforma para los programas de aplicación
del usuario.
Gestionar los recursos de
hardware disponibles en la
computadora
Una computadora está constituida por una gran cantidad de elementos de
hardware de distintos tipos; como ejemplo podemos mencionar los
dispositivos internos, tales como procesador, memoria, buses y puertos de
comunicación, controladoras de video y sonido, entre otros. 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 de software, el
sistema operativo funge como un intermediario que procesa el
deseo del usuario externado mediante un comando o la
activación algún botón. Al interpretar esta 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.
Ser la plataforma para los
programas de aplicación del
usuario
El objetivo más importante de las computadoras es servir de herramienta al
ser humano para procesar datos en forma rápida, segura y eficiente. Estos
datos provienen del quehacer diario de las personas, y para poderlos procesar
existen una gran variedad de aplicaciones que van desde los propósitos más
generales hasta los más específicos. Desafortunadamente, por las mismas
características de las aplicaciones, no sería viable que cada una de ellas
integrara todas las rutinas necesarias para gestionar el hardware tan variado y
complejo que conforma a las computadoras. De este modo, lo que queda es
dejar ese trabajo al sistema operativo, pero al mismo tiempo, se genera una
dependencia de dichas aplicaciones sobre él para poderse ejecutar, pues si no
hay sistema operativo, no pueden funcionar los programas de aplicación
Sistema Operativo como
controlador de recursos

Desde el punto de vista de controlador de recursos el


sistema operativo proporciona a los usuarios una interfaz
conveniente de arriba hacia abajo (top – down), ya que su
labor es la de proporcionar una asignación ordenada y
controlada de los procesadores, memoria, dispositivos de
I/O ejemplo: 3 procesos llegan a la misma impresora.
HISTORIA DE LOS S.O
• Pre HISTORIA. Charles Babbage (1792-1871), creo una
maquina analítica, era un diseño completamente
mecánico por medio de ruedas, engranes, levas y demás
partes mecánicas no existía Sistema Operativo.
• PRIMERA GENERACION (1945-1955) aparecen los
bulbos y conexiones, después de la 2 Guerra mundial,
supremamente enormes, y existían gente que se
encargaba de diseñar, otros construía el prog. Y otros
daban mantenimiento a la misma
En esta etapa no existían sistemas operativos. El usuario debía
codificar su programa a mano y en instrucciones máquina, y debía
introducirlo personalmente en la computadora, mediante conmutadores
o tarjetas perforadas. Las salidas se imprimían o se perforaban en cinta
de papel para su posterior impresión. En caso de errores en la ejecución
de los programas, el usuario tenía que depurarlos examinando el
contenido de la memoria y los registros de la computadora.

En esta primera etapa todos los trabajos se realizaban en serie. Se


introducía un programa en la computadora, se ejecutaba y se imprimían
los resultados
• 2 Generación – 1955-1965 aparecen los transistores y sistema
de procesamiento por lotes, se volvieron confiables las
computadores y comenzaron a venderse.
• Hubo separación entre diseñadores, constructores, operadores,
programadores y personal de mantenimiento.
Cobol – Foltran
Tercera Generación – 1965- 1980
• Aparecen los circuitos integrados aparece OS/360 de IBM, main
frame de gran nombre y talla.
• Aparece la multiprogramación – dividir la memoria en varias
partes con un trabajo distinto en cada partición.
• Técnica Spooling
• Grandes cálculos científicos.
• Tiempo compartido (variante multiprogramación)
• CUARTA GENERACION (1980-1990) Pc Personales

• LCI (Circuitos Integrados)


• Se habla de estaciones de trabajo
• Mucho mas amigables con los usuarios finales
• RISC
• Sistemas operativos en red y distribuidos
CUARTA GENERACION (1980-1990)
•Con la invención de los circuitos integrados a gran escala (LSI), chips
que contienen miles de transistores en un cm2 de silicio.
•Nació la era de la  computadora personal.
•Precio sí que eran diferentes. Si bien la minicomputadora hacía
posible que un departamento de una compañía o universidad tuviera su
propia computadora.
•Chip microprocesador permitía que un solo  individuo por lo regular
estas máquinas están interconectadas mediante una red.
• RISC
• Sistemas operativos en red y distribuidos MSDOS, UNIX
Sistemas Operativos por
Servicios
Existe una gran diversidad de sistemas operativos diseñados para
cubrir las necesidades de los distintos dispositivos y de los distintos
usos. Dependiendo de sus características, un sistema operativo
puede clasificarse según:

•El número de procesos simultáneos que permita ejecutar:


monotarea o monoproceso y multitarea. 
•La forma de interacción con el usuario: interactivo o por lotes. 
•El número de usuarios simultáneos: monousuario o personal y
multiusuario o de tiempo compartido.
•El número de procesadores que pueda atender: monoprocesador y
multiprocesador.
• Según el uso: cliente, servidor, empotrado, de
comunicaciones o de tiempo real.
• Según la movilidad: fijos y móviles
CONCEPTOS S.O
• Llamadas al Sistema: Es una interfaz entre el sistema
operativo y los programas de usuario, Por medio de
llamadas se pueden crear, modificar o borrar directorios.

• Procesos: Es más que un programa en estado de


ejecución, consta de un programa ejecutable, datos, pila,
contador y otros datos necesarios para ejecutar el
programa – Tabla de procesos
• Archivos: Una de las funciones principales del S.O es ocultar
particularidades de los discos y demás dispositivos de I/O, para
presentar al programador un modelo agradable y nítido de
archivos independientes de los dispositivos. Antes de poder
leer un archivo, hay que abrir éste; después de leer un archivo,
éste debe cerrarse; las llamadas permiten hacer todo esto.
• Para poder proporcionar un espacio donde almacenar los
archivos, la mayoría de los sistemas operativos soportan el
concepto de directorio como una forma de agrupar los
archivos.

• EL Shell: Interprete de comandos no hace parte del S.O


ESTRUCTURA DE LOS SISTEMAS
OPERATIVOS

SISTEMAS MONOLITICOS
• Se escribe como una colección de procedimientos que
pueden comunicarse entre ellos cuantas veces quieran y en
el momento que quieran.
• Modo supervisor – modo núcleo
Máquinas Virtuales
Las máquinas virtuales de sistema, también llamadas
máquinas virtuales de hardware, permiten a la máquina
física subyacente multiplicarse entre varias máquinas
virtuales, cada una ejecutando su propio sistema operativo.
A la capa de software que permite la virtualización se la
llama monitor de máquina virtual o "hypervisor". Un
monitor de máquina virtual puede ejecutarse o bien
directamente sobre el hardware o bien sobre un sistema
operativo ("host operating system").
CLIENTE - SERVIDOR
La arquitectura cliente-servidor es un modelo de aplicación
distribuida en el que las tareas se reparten entre los
proveedores de recursos o servicios, llamados servidores, y
los demandantes, llamados clientes. Un cliente realiza
peticiones a otro programa, el servidor, que le da respuesta.
Esta idea también se puede aplicar a programas que se
ejecutan sobre una sola computadora, aunque es más
ventajosa en un sistema operativo multiusuario distribuido a
través de una red de computadoras.
PROCESOS
Es un programa en estado de ejecución, en la actualidad
los computadores modernos hacen varias cosas al mismo
tiempo, a la vez que ejecutan programas de usuarios ej:
pueden leer un disco, efectuar procesos de una Terminal
o imprimir un documento.
La CPU ejecuta en cierto instante un solo programa y
durante un segundo puede trabajar con varios de ellos lo
que da una apariencia de paralelismo. Y es solo el SO el
encargado de determinar cual de ellos se ejecuta

¿Que es un Proceso?
El primer modelo es el secuencial consiste en tener en
forma de lista los procesos incluyendo contadores,
registros y variables del programa.
El segundo modelo es el conceptual observándose en
forma abstracta los procesos y en donde c/u de ellos pose
su propio flujo de control.

Modelo de Procesos
CUATRO CONTADORES DE
UN CONTADOR DE PROGRAMA ALTERNANDOR PROGRAMA
DE PROCESOS

B
A B C D

D
El programa es una serie de pasos consecutivos para lograr
un objetivo.
El proceso es la forma como va a llegar a cumplir el
programa

Ej: una persona desea hacer un pastel para ello necesita una
lista de ingredientes, la receta (programa) proceso (forma
como lee los datos y efectúa el proceso de mescla)

¿Diferencia entre Programa y un


Proceso?
Los procesos por muy sencillos que sean deben ofrecer
cierta forma de poder crear todos los procesos necesarios,
sin embargo en la mayoría de los sistemas es necesaria
una forma de crear y destruir procesos, cuando se
requiera durante la operación. Ej: en Linux esta la
instrucción kill a fin de matar los procesos que el usuario
defina conveniente

JERARQUIAS DE LOS
PROCESOS
• EJECUCION – Cuando el proceso utiliza la CPU en un
instante dado
• LISTO – El proceso se ejecuta o simplemente entra en
un estado temporal o espera para que otro proceso pueda
ejecutarlo
• BLOQUEADO – Es el proceso donde no se puede
ejecutar ningún proceso debido a la ocurrencia de algún
evento externo.

ESTADOS DE LOS PROCESOS


EJECUCION
1 2
3

BLOQUEADO LISTO
4
1.) El proceso se bloquea en
espera de datos
2.) El planificador elige otro
proceso
3.) El planificador elige este
proceso
4.) Los datos estan disponibles
IMPLANTACION DE UN
PROCESO Registros
P. Couter
Apuntador
Estado Pro.
Hora Inicio
TABLA DE LOS PROCESOS
Tiempo
utilizado
CPU
Hora sig.
Alarma
Banderas
• Entre ellos necesitan comunicarse, por lo general en
forma secuencial, hasta finalizar la tabla de procesos, sin
utilizar interrupciones.
• Condición Mutua: Memoria compartida - Spooling trabaja
con un Demonio.

COMUNICACIÓN DE LOS
PROCESOS
PLANIFICACION DE LOS
PROCESOS
Cuando mas de un proceso es ejecutable, el SO debe decidir
cual de ellos debe ejecutarse en primer termino –
Planificador y el algoritmo que utiliza se llama algoritmo de
planificación.

1. EQUIDAD
2. EFICACIA
3. TIEMPO DE RESPUESTA
4. TIEMPO DE REGRESO
5. RENDIMIENDO
Planificación Round
Robin
• Quantum

B F D G A

F D G A B
Planificación por
prioridad
• Docentes
• Ejercito
Colas Múltiples
Prioridad 4

Prioridad 3

Prioridad 2

Prioridad 1
Prímero el trabajo más
corto
8 4 4 4 4
B F D G A

4 4 4 4 8
F D G A B
• Si los filósofos toman todos el tenedor mano izq, en
forma simultanea ocurriría un bloqueo
• El programa verificara si el tenedor der. Esta disponible,
sino el filosofo deja el izq. Espera cierto tiempo y vuelve
a repetir todo el proceso (inanición)
• Asignar un quantum
• Semáforo binario, generar un arreglo de tres estados
comiendo, pensando, hambriento y comen cuando dos
vecinos no están comiendo

PROBLEMA DE LOS
FILOSOFOS

También podría gustarte