Clasificación de sistemas operativos

18
Clasificación de Sistemas Operativos Sistemas operativos Escuela Superior de comercio

Transcript of Clasificación de sistemas operativos

Page 1: Clasificación de sistemas operativos

Clasificación de Sistemas Operativos

Sistemas operativos Escuela Superior de comercio

Page 2: Clasificación de sistemas operativos

Administración de tareas

• Monotarea: Solamente permite ejecutar un proceso (aparte de los procesos del propio SO) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará haciéndolo hasta su finalización y/o interrupción.

• Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de SO. normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente.

Page 3: Clasificación de sistemas operativos

Administración de usuarios

• Monousuario: Sólo permite ejecutar los programas de un usuario al mismo tiempo.

• Multiusuario: Permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.

Page 4: Clasificación de sistemas operativos

Manejo de recursos

• Centralizado: Permite usar los recursos de una sola computadora.

• Distribuido: Permite utilizar los recursos (memoria, CPU, disco, periféricos...) de más de una computadora al mismo tiempo.

Page 5: Clasificación de sistemas operativos

Kernel o Nucleo

Page 6: Clasificación de sistemas operativos

“Es un software que constituye una parte fundamental del sistema operativo.”

El núcleo del sistema operativo, también llamado kernel (núcleo en alemán) es

aquella parte de un sistema operativo que interactúa de forma

directa con el hardware de una máquina. Entre las funciones principales del kernel

se encuentran:

Page 7: Clasificación de sistemas operativos

• La gestión de memoria.• La administración del sistema de archivos.• La administración de servicios de

entrada/salida.• La asignación de recursos entre los usuarios.

Page 8: Clasificación de sistemas operativos

• La manipulación del hardware se realiza por medio de controladores de dispositivo, que conocen la forma de comunicarse directamente con el hardware de la máquina.

• El software por su parte puede comunicarse con el kernel por medio de llamadas al sistema, las cuales le indican al kernel que realice tareas como abrir y escribir un archivo, ejecutar un programa, finalizar un proceso u obtener la fecha y hora del sistema.

Page 9: Clasificación de sistemas operativos

Llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO.

Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseñado para trabajar sobre el anterior, en general el programa no funcionará, a no ser que el nuevo SO tenga la misma interfaz. Para ello:

• Las llamadas correspondientes deben tener el mismo formato.

• Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior.

Page 10: Clasificación de sistemas operativos

• Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el Sistema Operativo, tiene que poder utilizar todo el conjunto de instrucciones del CPU. Por ello, una CPU debe tener (al menos) dos modos de operación diferentes:

• Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las aplicaciones.

• Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones.

Page 11: Clasificación de sistemas operativos

Una llamada al sistema es un método o función que puede invocar un proceso para solicitar un cierto servicio al sistema operativo. Dado que el acceso a ciertos recursos del sistema requieren la ejecución de código en modo privilegiado, el sistema operativo ofrece un conjunto de métodos o funciones que el programa puede emplear para acceder a dichos recursos. En otras palabras, el sistema operativo actúa como intermediario, ofreciendo una interfaz de programación (API) que el programa puede usar en cualquier momento para solicitar recursos gestionados por el sistema operativo.

Page 12: Clasificación de sistemas operativos

Algunos ejemplos de llamadas al sistema son las siguientes:

• time, que permite obtener la fecha y hora del sistema.• write, que se emplea para escribir un dato en un cierto

dispositivo de salida, tales como una pantalla o un disco magnético.

• read, que es usada para leer de un dispositivo de entrada, tales como un teclado o un disco magnético.

• open, que es usada para obtener un descriptor de un fichero del sistema, ese fichero suele pasarse a write.

Page 13: Clasificación de sistemas operativos

• Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es el interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseñado para trabajar sobre el anterior, en general el programa no funcionará, a no ser que el nuevo SO tenga el mismo interfaz. Para ello:Las llamadas correspondientes deben tener el mismo formato.

• Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior.

Page 14: Clasificación de sistemas operativos

• Las llamadas son peticiones a ejecución de rutinas y proporcionan la interfaz entre el sistema operativo y un programa en ejecución. Estas llamadas son instrucciones de lenguaje ensamblador y se presentan en los manuales que emplean los programadores de este lenguaje. Algunos sistemas permiten efectuar llamadas al sistema directamente desde un programa realizado en el lenguaje de mayor nivel, normalmente estas llamadas se asemejan a una función o sub-rutinas predefinidas, que generan una llamada a una ruta en especial de tiempo de ejecución, que realice efectivamente la llamada al sistema, o bien pueden generarla directamente en la línea. Por ejemplo: En el procesador INTEL es INT y en UNIX son rutinas en C.

Page 15: Clasificación de sistemas operativos

• En el mundo Windows en general, las llamadas al sistema se denominan API (Windows application programming interface), es un conjunto de funciones residentes en bibliotecas (generalmente dinámicas, también llamadas DLL por sus siglas en inglés, término usado para referirse a éstas en Windows) que permiten que una aplicación corra bajo un determinado sistema operativo. Por ejemplo, Windows proporciona una función denominada FlashWindowEx que permite que la barra de título de una aplicación alterne entre un sombreado claro y otro oscuro.

Page 16: Clasificación de sistemas operativos

Las funciones API se dividen en varias categorías:

• Depuración y manejo de errores• E/S de dispositivos• Varias DLL, procesos e hilos• Comunicación entre procesos• Manejo de la memoria• Monitoreo del desempeño• Manejo de energía• Almacenamiento• Información del sistema• GDI (interfaz para dispositivos gráficos) de

Windows (tales como impresoras)• Interfaz de usuario de Windows

Page 17: Clasificación de sistemas operativos

• La ventaja de utilizar las API de Windows en el código es que pueden ahorrar tiempo porque contienen numerosas funciones útiles ya escritas y listas para utilizar.

• La desventaja es que puede resultar difícil trabajar con las API de Windows y pueden ser implacables cuando las cosas van mal.

Page 18: Clasificación de sistemas operativos