0% encontró este documento útil (0 votos)
25 vistas37 páginas

Introducción a los Sistemas Operativos

Cargado por

Diego Alba
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas37 páginas

Introducción a los Sistemas Operativos

Cargado por

Diego Alba
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

SISTEMAS

OPERATIVOS
Dr. Ing. Carlos Alejandro Bustamante Lujan
Universidad Privada Boliviana
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
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 I
• 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ían el programa.
• Y otros daban mantenimiento a la misma
HISTORIA DE LOS S.O II
• 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 – FORTRAN
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
• CISC
• 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
• 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
• 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
CONCEPTOS S.O

• 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.

• 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
¿Que es un Proceso?

• 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
Modelo de Procesos

• 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.
UN CONTADOR DE PROGRAMA CUATRO CONTADORES DE
ALTERNADOR DE PROCESOS PROGRAMA

C A B C D

D
¿Diferencia entre Programa y un
Proceso?
• 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)
JERARQUIAS DE LOS PROCESOS

• 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
ESTADOS 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.
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.
TABLA DE LOS PROCESOS Hora Inicio
Tiempo
utilizado
CPU
Hora sig.
Alarma
Banderas
COMUNICACIÓN DE LOS PROCESOS

•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.
PLANIFICACION DE LOS
PROCESOS
Cuando más 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

• Generales
• Coroneles
• Tte. Coroneles
• Mayores
• Capitanes
• Tenientes
• Subtenientes
• 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
PROBLEMA DE LOS FILOSOFOS

• 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

También podría gustarte