Materia: Sistemas Operativos
Profesores:Mg. Bibiana Anselmo - bibiana.anselmo.usal@gmail.com
Ing. Alejandro Rodriguez - alejandro.rodriguez@usal.edu.ar
Modalidad de la materia
2 parciales / 2 recuperatorios
No es promocionable
La materia consta de una parte teórica y de una practica, la practica va a ser sobre linux (distribución debian).
¿Que es un sistema operativo?
Un sistema operativo es un programa que controla la ejecución de los aplicativos/procesos y funciona como interfaz entre el software y el hardware.
* Objetivos de un Sistema Operativo:
- Conveniencia.
- Eficiente: Que permita realizar un uso eficiente de los recursos.
- Facilidad en el desarrollo y la evolución.
* Interfaz: Enmascarar la complejidad del hardware.
* Servicios:
- Desarrollo -> facilita herramientas para el desarrollo.
- Ejecución de programas (procesos).
- Accesos a dispositivos In/Out.
- Accesos controlados a archivos.
- Accesos al sistemas.
- Detección de errores y respuestas.
- Contabilidad (administración del uso de recursos).
* Principales interfaces
- ISA -> Instrucciones relacionadas con la arquitectura (el hard). Accedida por aplicaciones y utilitarios.
- ABI -> Interfaz binaria, relacionada a la portabilidad, accedida por los sistem call.
- API -> Conjunto de funciones utilizadas por las aplicaciones.
* Software: Es igual a todos los programas excepto que delega frecuentemente el control y depende del procesador para recuperarlo.
* Evolución histórica:
- Procesamiento serial. El programador decidía que se procesaba.
- Batch simple. (por lotes) basado el uso de un programa monitor que reducía los tiempos de configuración y de ejecución. El programador al final de la ejecución del programa debía llamar al monitor.
- Evolución de hardware: protección de memoria, creación del temporizador, se implementaron las interrupciones y las instrucciones privilegiadas.
- Batch Multiprogramado: Va metiendo los programas uno detrás de otro a medida que se desocupa el procesador en vez de esperar a que terminen los procesos totales. Esto mejoraba los tiempos de ejecución.
- Tiempo compartido: Múltiples usuarios con múltiples procesos. (Hoy casi todos los sistemas operativos del mercado).
- Virtual Machine: Software que distribuye recursos entre varios sistemas operativos corriendo cada uno en una maquina virtual.
Nota: Diferencia entre multiprogramado y multiprocesamiento:
Multiprogramado me da la sensación de que tengo varios procesos ejecutando al mismo tiempo en un solo procesador.
Multiprocesado es cuando tengo varios procesadores y cada uno procesa independientemente.
Multicore son múltiples núcleos que procesan pedazos mas chicos del proceso.

No hay comentarios.:
Publicar un comentario