Está en la página 1de 45

TALLER DE SISTEMAS

OPERATIVOS
ING. CRISTIAN CORDOVA ALVAREZ
ESTRUCTURA Y SERVICIOS BÁSICOS DEL S.O.
SERVICIOS DE UN S.O.
• Un sistema operativo proporciona un entorno para
la ejecución de programas. El sistema presta ciertos
servicios a los programas y a los usuarios de dichos
programas. Por supuesto, los servicios específicos
que se suministran difieren de un sistema operativo
al otro, pero podemos identificar perfectamente una
serie de clases comunes. Estos servicios del sistema
operativo se proporcionan para comodidad del
programador, con el fin de facilitar la tarea de
desarrollo.
SERVICIOS DE UN S.O.
Interfaz de Usuario
• Casi todos los sistemas operativos disponen de una
interfaz de usuario (UI, user interface), que puede
tomar diferentes formas. Uno de los tipos existentes
es la interfaz de línea de comandos (CLI, command-
line interface) que usa comandos de texto, y por
otra parte se utiliza una interfaz gráfica de usuario
(GUI, graphical user interface) compuesta por
ventanas.
SERVICIOS DE UN S.O.
Ejecución de Programas
• El sistema tiene que poder cargar un programa
y ejecutar dicho programa. Todo programa
debe poder terminar su ejecución, de forma
normal o anormal (indicando un error).
SERVICIOS DE UN S.O.
Operaciones de E/S
Un programa en ejecución puede necesitar llevar
a cabo operaciones de E/S, dirigidas a un archivo
o dispositivo de E/S. Para ciertos dispositivos es
deseable disponer de funciones especiales . Por
cuestión de eficiencia y protección, los usuarios
no pueden controlar de modo directo los
dispositivos de E/S; el sistema operativo debe
proporcionar medios para realizar la E/S.
SERVICIOS DE UN S.O.
Manipulación del sistema de archivos
El sistema de archivos tiene una importancia especial.
Obviamente, los programas necesitan leer y escribir
en archivos y directorios. También necesita crearlos y
borrarlos usando su nombre, realizar búsquedas en
un determinado archivo o presentar la información
contenida en un archivo. Algunos programas incluyen
mecanismos de gestión de permisos para conceder o
denegar el acceso a los archivos o directorios
dependiendo de quien es el propietario.
SERVICIOS DE UN S.O.
Comunicaciones
Hay muchas circunstancias en las que un proceso
necesita intercambiar información con otro. Dicha
comunicación puede tener lugar entre procesos que
se están ejecutando en la misma computadora o
entre procesos en computadoras diferentes
conectadas por red. La comunicaciones se pueden
implementar utilizando memoria compartida,
procedimiento en el que el sistema operativo
transfiere paquetes de información entre unos
procesos y otros
SERVICIOS DE UN S.O.
Detección de errores
El sistema operativo necesita detectar
constantemente los posible errores. Estos errores
pueden producirse en el hardware del procesador
y de memoria, en un dispositivo de E/So en los
programas de usuario. Para cada tipo de error, el
sistema operativo debe llevar a cabo la operación
apropiada para asegurar el funcionamiento
correcto y coherente.
SERVICIOS DE UN S.O.
Asignación de recursos
Cuando hay varios usuarios, o hay varios trabajos
ejecutándose al mismo tiempo, deben asignarse a
cada uno de ellos los recursos necesarios. El sistema
operativo gestiona muchos tipos diferentes de
recursos; algunos pueden disponer de código de
software especial que gestionen su asignación,
mientras que otros pueden tener código que gestione
de forma mucho más general su solicitud y liberación.
RECURSOS ADMINISTRADOS POR EL S.O.
RECURSOS ADMINISTRADOS POR UN
O.S.
En el manejo de funciones y componentes el sistema operativo tiene un papel de
mucha importancia, pues sin él, ninguno de los componentes o funciones de tu
computador existieran de la manera en que los conoces.
Los recursos administrados por un sistema operativo son:
• Tiempo del procesador.
• Memoria Principal.
• Dispositivos Perifericos.
• Software.
SERVICIOS DE UN S.O.
Tiempo de Procesador
El recurso más importante en el sistema de
computación es el procesador central. Sin acceso al
CPU, los programas no pueden ejecutarse. La
estrategia más simple para asignar este recurso sería
asignarlo a un trabajo de usuario hasta que finalice.
Esta estrategia es usada en muchos computadores.
Sin embargo la mayoría de los programas gastan más
de la mitad de su tiempo esperando que terminen
operaciones de Entrada/Salida.
SERVICIOS DE UN S.O.
Tiempo de Procesador
Esto nos lleva a tratar de compartir el tiempo del
CPU entre varios usuarios, lo cual implica un
mecanismo más complejo que nos permita
utilizar eficientemente el tiempo del procesador y
explotar el paralelismo existente con las
operaciones de Entrada/Salida.
SERVICIOS DE UN S.O.
Memoria Principal
Un segundo recurso que es escaso en la mayoría de los
computadores es la memoria principal. Un programa se
puede ejecutar solamente si tiene asignada la memoria
fisica que necesita, ya que el procesador accesa las
instrucciones y los datos que se encuentran en esa
memoria física. Si el sistema operativo soporta la ejecución
simultánea de varios trabajos entonces la memoria está
compartida entre esos varios trabajos. En estos casos el
S.O. debe asignar eficientemente la memoria a esos
trabajos, evitando desperdicios.
SERVICIOS DE UN S.O.
Memoria Principal
El objetivo principal de los diferentes esquemas de
administración de memoria, es la reducción del
desperdicio que ocurre como consecuencia de los
diferentes tamaños de los programas de usuario. La
mayoría de estos esquemas son complejos y generan
un overhead (tiempo durante el cual el CPU procesa
al S.O.) considerable, siendo muy difícil
cuantitativamente la contribución de estos esquemas
a la eficiencia general del sistema.
SERVICIOS DE UN S.O.
Dispositivos Periféricos
La mayoría de los dispositivos periféricos se asignan a un
solo usuario, no se comparten entre varios usuarios. Esta
situación puede ser muy ineficiente en el caso de algunos
dispositivos tales como la impresora, si el trabajo al que
fuese asignado este dispositivo tuviese un tiempo largo de
ejecución. Por otra parte, los dispositivos de acceso directo
son compartidos entre los usuarios a través del sistema de
archivos y pueden ocurrir demoras derivadas del uso
compartido que pudieran ser intolerables en un momento
dado.
SERVICIOS DE UN S.O.
Dispositivos Periféricos
La asignación de los dispositivos a los usuarios tiene
implicaciones muy fuertes en la eficiencia y
comportamiento del sistema de computación. Dado que la
mayoría de los equipos incluye una sola impresora, los
sistemas operativos incluyen normalmente un sistema de
SPOOLING (operaciones perifericas simultáneas en linea)
que evita las ineficiencias que se generarían si este
dispositivo fuese asignado a un trabajo por vez. Sin
embargo, en computadores pequeños, el overhead
ocasionado por el spooler sería intolerable y pudiera ser tal
vez más efectivo abortar y recomenzar algún trabajo.
SERVICIOS DE UN S.O.
Software
Los recursos de software de un sistema de
computación, consisten en las funciones
disponibles al usuario con el objeto de
administrar datos y controlar la ejecución de
programas. Entre estos recursos se encuentran
los servicios de administración de archivos, los
despachadores, librerías del sistema y rutinas de
utilidad.
SERVICIOS DE UN S.O.
Software
El método más utilizado para permitir a varios
usuarios compartir un recurso de software, es
haciendo este recurso de software reentrante. La
utilización de software reentrante, evita tener en
la memoria varias copias de ese software,
situación que sería muy ineficiente. En
computadores pequeños puede ser imposible la
implementación de programas reentrantes.
SERVICIOS DE UN S.O.
Software
Sistema operativo, software básico que controla una
computadora. El sistema operativo tiene tres grandes
funciones: coordina y manipula el hardware de la
computadora, como la memoria, las impresoras, las
unidades de disco, el teclado o el mouse; organiza los
archivos en diversos dispositivos de almacenamiento,
como discos flexibles, discos duros, discos compactos
o cintas magnéticas, y gestiona los errores de
hardware y la pérdida de datos.
TIPOS DE SISTEMAS OPERATIVOS
TIPOS DE SISTEMAS OPERATIVOS
Los sistemas operativos se pueden clasificar atendiendo a:
• Administración de Tareas
• Administración de usuarios
• Organización interna o Estructura
• Manejo de Recursos o Acceso a Servicios
TIPOS DE SISTEMAS OPERATIVOS
ADMINISTRACION 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
TIPOS DE SISTEMAS OPERATIVOS
ADMINISTRACION 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.
TIPOS DE SISTEMAS OPERATIVOS
ORGANIZACIÓN INTERNA O ESTRUCTURA
• Monolítico

• Jerárquico

• Cliente-servidor
TIPOS DE SISTEMAS OPERATIVOS
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
PROCESOS
PROCESOS
Definicion
El principal concepto en cualquier sistema
operativo es el de proceso. Un proceso es una
instancia de un programa en ejecución,
incluyendo el valores como: program counter, los
registros y las variables. Conceptualmente, cada
proceso tiene un hilo (thread) de ejecución que
es visto como un CPU virtual.
PROCESOS
Un proceso es un concepto manejado por el sistema operativo que consiste en el
conjunto formado por:
• Las instrucciones de un programa destinadas a ser ejecutadas por el
microprocesador.
• Su estado de ejecución en un momento dado, esto es, los valores de los registros
de la CPU para dicho programa.
• Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.
• Otra información que permite al sistema operativo su planificación.
PROCESOS
Los procesos son creados y destruidos por el
sistema operativo, así como también este se debe
hacer cargo de la comunicación entre procesos,
pero lo hace a petición de otros procesos. El
mecanismo por el cual un proceso crea otro
proceso se denomina bifurcación (fork). Los
nuevos procesos son independientes y no
comparten memoria (es decir, información) con el
proceso que los ha creado.
EJECUCION DE UN PROGRAMA
EJECUCION DE PROCESOS
Además del código, un proceso incluye también
la actividad actual representada en el contador
del programa. También incluye la pila del
proceso y una sección de datos, que
contienenlas variables globales. EL proceso, así
mismo puede incluir un cúmulo de memoria,
que es la que se el asigan en tiempo de
ejecución.
PROGRAMAS VS PROCESOS
Un programa por si mismo no es un proceso, un
programa es una entidad pasiva , es un archivo
que contiene la lista de instrucciones
almacenadas en discos (el archivo ejecutable),
mientras que un proceso es una entidad activa
con un contador de programa que especifica la
siguiente instrucción que hay que ejecutar junto
con los recursos asociados.
ESTADOS DE UN PROCESO

“El estado de un
proceso de un proceso
se define, según su
actividad actual en un
proceso”
ESTADOS DE LOS PROCESOS
Nuevo.- El proceso esta siendo creado.
En Ejecución.- Se están ejecutando las instrucciones.
En espera.- El proceso esta esperando que se produzca un suceso (terminación
de una operación de E/S o recepción de una señal)
Preparado.- El proceso está a la espera de que le asignen a un procesador
Terminado.- Ha terminado la ejecución de proceso.
HILOS DE EJECUCIÓN
HEBRAS O HILOS
Es similar a un proceso en que ambos representan una secuencia simple de
instrucciones ejecutada en paralelo con otras secuencias. Los hilos permiten
dividir un programa en dos o más tareas que corren simultáneamente, por medio
de la multiprogramación.
EJEMPLO DE MULTIHIOS
En este videojuego podemos interpretar mejor la definición de videojuegos ya
que cada personaje del videojuego tiene su hilo, por ejemplo, las tortugas, las
monedas, cada uno tiene un hilo independiente que provienen del mismo
proceso.
HEBRAS O HILOS
Los hilos permiten incrementar el rendimiento de un
procesador de manera considerable. Todos los hilos de un
proceso comparten los recursos del proceso. Residen en
el mismo espacio de direcciones y tienen acceso a los
mismos datos.
Cuando un hilo modifica un dato en la memoria, los otros
hilos utilizan el resultado cuando acceden al dato. Cada
hilo tiene su propio estado, su propio contador, su propia
pila y su propia copia de los registros de la CPU
HILOS VS PROCESOS
Los hilos se distinguen de los tradicionales
procesos en que los procesos son generalmente
independientes, llevan bastante información de
estados, e interactúan sólo a través de
mecanismos de comunicación dados por el
sistema. Por otra parte, muchos hilos
generalmente comparten otros recursos
directamente.
PROCESOS, SUBPROCESOS Y DEPENDENCIAS
SUBPROCESOS
En los s.o. tradicionales cada proceso tiene un espacio de direcciones y un solo
subproceso de control Sin embargo, hay situaciones en las que es deseable tener
varios subprocesos de control en el mismo espacio de direcciones, operando de forma
pseudoparalela, como si fueran procesos individuales (salvo por el espacio de
direcciones compartido). Cuando se inicia una aplicación, el sistema crea un
subproceso de ejecución, que se denomina "principal".
UTILIDAD DE LOS SUBPROCESOS
¿Por qué son útiles los subprocesos? El motivo
principal es que en diversas aplicaciones, se estén
realizando varias actividades al mismo tiempo, por lo
que algunas de ellas podrían bloquearse de vez en
cuando. Al descomponer tal aplicación en múltiples
subprocesos secuenciales que se ejecuten casi en
paralelo, se simplifica el modelo de programación.
DIFERENCIA ENTRE SUBPROCESOS
E HILOS

También podría gustarte