Está en la página 1de 21

¿Qué es un sistema operativo?

• Un Sistema operativo es un
programa que administra el
hardware de una computadora.
Realiza tareas que pueden ser
llevadas de varias formas, lo que
permite que algunos sistemas
Operativos se diseñen para ser
prácticos, otros eficientes y otros
para ser ambas cosas.
Definición Sistema Operativo
• Un sistema operativo es un programa, o conjunto de
programas que torna amigable, eficiente y productivo el
uso de un computador (hardware), permitiendo la
ejecución aplicaciones de usuario. Es el intermediario
entre las aplicaciones de usuario y el hardware.
¿Qué hace un sistema Operativo?
• Un sistema informático puede dividirse en cuatro componentes: el
hardware, el sistema Operativo, los programas de aplicación, y
los usuarios. El Sistema operativo controla y coordina el uso del
hardware entre los diversos programas de aplicación por parte de
los distintos usuarios. También podemos ver un sistema
informático como hardware, software y datos. El sistema
operativo proporciona los medios para hacer un uso adecuado de
estos recursos durante el funcionamiento del sistema informático.
Metas:
• Brindar un ambiente de realización y ejecución de
aplicaciones.
• Proveer un entorno sin interferencias a cada usuario
(interferencia: Lo que un usuario modifica en su entorno, no
interfiera ni modifique lo de otro usuario)
• Administrar en forma equitativa los recursos(hardware y
software)
• Hacerlo de la forma mas amigable e intuitiva posible
Tareas principales:
• Implementar diferentes entornos para diferentes usos
(interfaz grafica, shells, tipo web, etc)
• Proveer una o más interfaces con el usuario.
• Proveer a las aplicaciones un conjunto de servicios(a
través de los “system services”)
• Eficiencia y equidad en la administración de recursos.
Se puede decir que el SO es un:
• Administrador de recursos: Sus
tareas consiste en administrar
los recursos disponibles y
decidir como asignar estos
recursos según los pedidos y
asignaciones que tenga.

• Programa de control. Controla


la ejecución de los programas
para la prevención de errores y
mal uso del sistema.
Tipos de sistemas operativos.
Multiusuarios(multi-user):
• Se le llama multiusuario
a la característica de un
sistema operativo o
programa que permite
proveer servicio y
procesamiento a
múltiples usuarios
simultáneamente.
Multiprocesamiento (multiprocessing):
Un sistema operativo multiproceso se
refiere al numero de procesadores del
sistema, que es mas de uno y este es
capaz de usarlos todos para distribuir
su carga de trabajo.
Generalmente estos sistemas trabajan
de dos formas:
Asimétrica: Cuando se trabaja de esta
manera el sistema operativo selecciona
uno de los procesadores el cual hará el
papel de procesador maestro
distribuyendo la carga.
Simétrica: Por otro lado, todos los
procesadores en multiprocesamiento
simétrico ejecutan las tareas en el
sistema operativo.
Multitareas (multitasking)
• La multitarea es la característica
de los sistemas operativos
modernos de permitir que varios
procesos o aplicaciones se
ejecuten aparentemente al mismo
tiempo, compartiendo uno o más
procesadores.

• Los sistemas operativos


multitarea son capaces de dar
servicio a más de un proceso a la
vez para permitir la ejecución de
muchos más programas.
Multihilos (multithreading)
Es aquel Sistema Operativo que posee
varios hilos de ejecución.
Un hilo de Ejecución o subproceso es
una característica que permite a una
aplicación realizar varias tareas a la vez
(concurrentemente). Los distintos hilos de
ejecución comparten una serie de
recursos tales como el espacio de
memoria, los archivos abiertos, situación
de autenticación, etc. Esta técnica
permite simplificar el diseño de una
aplicación que debe llevar a cabo
distintas funciones simultáneamente.
Tiempo real (real time)
• Sistema Operativo de
tiempo real. Son aquellos
en los cuales no tiene
importancia el usuario,
sino los procesos. Por lo
general, están
subutilizados sus recursos
con la finalidad de prestar
atención a los procesos en
el momento que lo
Móvil
• SO móvil es un conjunto de
programas de bajo nivel que
permite la abstracción de las
peculiaridades del hardware
específico del teléfono móvil y
provee servicios a las
aplicaciones móviles, que se
ejecutan sobre él.
Estructura de los sistemas operativos.
• Definir una arquitectura para el Sistema Operativo; esta estará influida en alguna medida por
el hardware que manejará. Sin embargo es posible identificar algunos componentes
comunes como el núcleo y las llamadas al sistema. El núcleo contiene, básicamente, todo el
código e información necesaria para la gestión de procesos y memoria y en la mayoría de
los sistemas operativos también se incluye buena parte de la gestión de entrada/salida.
Según la arquitectura que tengamos así es como el usuario se comunica con el sistema
operativo y el sistema operativo o el núcleo con los componentes del hardware, por tanto
cada sistema operativo tiene una arquitectura específica en dependencia de las
necesidades de este.
En relación a la estructura de un sistema operativo, existen dos conceptos muy
importantes: multiprogramación y tiempo compartido (o multitarea).

• Multiprogramación: Modo de explotación


de una computadora que permite
ejecutar distintos programas con una
misma máquina. La sección que permite
la multiprogramación en un sistema
operativo se denomina Kernel.

• En general, un solo usuario no puede


mantener la CPU o los dispositivos
ocupados continuamente. La
multiprogramación incrementa el uso de
la CPU organizando los trabajos
(códigos y datos) de modo que la CPU
siempre tenga uno que ejecutar. Cuando
un trabajo tiene que esperar, el sistema
operativo conmuta a otro trabajo, y así
sucesivamente.
Tiempo Compartido o multitarea.
• El tiempo compartido (o
multitarea) es una extensión
lógica de la multiprogramación.
En los sistemas de tiempo
compartido, la CPU ejecuta
múltiples trabajos conmutando
entre ellos, pero las
conmutaciones se producen tan
frecuentemente que los
usuarios pueden interactuar
con cada programa mientras
éste está en ejecución.
Diseño Monolítico
• Es la arquitectura más simple para un
sistema operativo. Este sistema contiene
todas las rutinas y funcionalidades
disponibles (sistema de archivos, manejo
de drivers, gestión de memoria y CPU,
etc.) juntas dentro de un gran programa
o núcleo. Su principal desventaja radica
en que, debido a que todos los
componentes del núcleo tienen acceso a
todas las estructuras y rutinas internas,
un error o un vulnerabilidad de seguridad
puede expandirse y afectar a todo el
núcleo.
Diseño por capas.
• Es una generalización del modelo
de estructura simple para un
sistema monolítico. En esta
arquitectura, el sistema operativo
se divide en una jerarquía de
capas, donde cada capa solamente
utiliza los servicios de la capa
inferior y se enfoca en ofrecerle
una interfaz clara y bien definida a
la capa superior.
Diseño Cliente-Servidor

• En este modelo, lo único que hace


el núcleo es controlar la
comunicación entre los clientes y
los servidores. Al separar el
sistema operativo en partes, cada
una de ellas controla una parte del
sistema, como el servicio a
archivos, servicios a procesos,
servicio a terminales o servicio a la
memoria, y cada parte es pequeña
y controlable.
Diseño Máquinas Virtuales

• En este modelo, mediante


software, se proporciona a los
programas la emulación de un
sistema el cual se quiere
reproducir. El software emulador
traduce las peticiones hechas a la
máquina virtual en operaciones
sobre la máquina real. Se pueden
ejecutar varias máquinas virtuales
al mismo tiempo, por ejemplo,
mediante tiempo compartido. Los
recursos reales se reparten entre
las distintas máquinas virtuales.