Está en la página 1de 19

CIT-2003

Sistemas Operativos
(SO, o Soperativos para les
amigues)

Profesor: Martín Gutiérrez


Semestre: 2-2023
1. Introducción
• Ya, loques… Este fue uno de los ramos
que me dio terror al ser estudiante.
• Primera Segunda III vez Ya hace rato que
lo dicto y ya no estoy tan aterrado como el
primer semestre (y me tomé un sabático).
• Debiese ser un curso que abre la mente a
la programación a bajo nivel, acceso
concurrente y sincronización, pero
además a los conceptos base de un SO.
1. Introducción
Las notas del curso se calculan según las
siguientes fórmulas:
• NF = (0.7 * NP) + (0.3 * Ex)
• NP = (0.6 * Solemnes) + (0.15 * Controles) + (0.25 * Tareas)
• Habrán 2 solemnes, 3 controles y 3 tareas.
• El estudiante debe tener el ítem Tareas aprobado, sino reprueba el
curso automáticamente (NF >= 4.0 y NT >= 4.0).
• Eximición: NP >= 5.0, NT >= 5.5, ∀i={1..3} NCi, NTi>= 4.0
• En caso de faltar a una solemne y/o control y justificar
debidamente, la nota será reemplazada por Ex.
1. Introducción
Para empezar, les planteo unas preguntas:
1. ¿Qué es un Sistema Operativo (SO)?
2. ¿Cuáles son los principales SO que hay?
3. ¿Qué características y funciones tiene un
SO?
4. ¿Por qué se necesita un SO?
1. Introducción
1. ¿Qué es un Sistema Operativo (SO)?

Un SO es un software (SW) encargado


de administrar los recursos (por ejemplo,
el hardware – HW) de la máquina con
una intervención mínima del usuario. El
SO provee dichos servicios al usuario
final interactuando con las aplicaciones
de software que el usuario utiliza.
1. Introducción
2. ¿Cuáles son los principales SO que hay?

– Windows
– *ix (entre ellos Unix, BSD, Linux, MacOS,
etc.)
– Android
– iOS
– DOS
1. Introducción
3. ¿Qué características y funciones tiene un
SO?
Un SO gestiona recursos, concretamente:
– Administración de la CPU, memoria,
dispositivos I/O, archivos, red y la adaptación
de todos ellos
– Establece prioridades de tareas
– Hace compartición de tiempo entre los
diversos SW presentes en el sistema
– Administración de seguridad e integridad
1. Introducción
3. ¿Qué características y funciones tiene un
SO?

Asimismo:
– Provee de interdependencia de HW
– Ofrece una interfaz de usuario hacia los
recursos
1. Introducción
4. ¿Por qué se necesita un SO?

El SO es un coordinador central en la
máquina que asocia SW con HW y
admite el control de ambos de forma
global. El SO es necesario, pues el
control individual de dichas entidades
haría impráctico el uso de una máquina.
1. Introducción
La raja. Parece que el SO es la bomba, pero…
para ser tan tilliblemente 0s0m, ¿qué es lo que lo
compone?
Usuario

Boot Whatsapp WoW Safari Terminal


Kernel
Aplicaciones (SW)
Drivers de Dispositivos
Seguridad SO
Red
Interfaz de Usuario Pantalla CPU RAM Teclado
Aplicaciones de Usuario
HW
1. Introducción

SO = Kernel + Programas de
Sistema
1. Introducción
Así entonces, quedan definidas las
generalidades del SO. A lo largo del curso
hablaremos de:
• Gestión de procesos, sincronización y
calendarización
• Administración de memoria,
direccionamiento
• Sistemas de archivos
• Gestión de I/O y dinámicas de interrupción
1. Introducción
1. Introducción
• Un poco de histeria:
– General:
https://prezi.com/f4ajvsukiz-c/operating-syste
ms-timeline/
– MacOS:
https://en.wikipedia.org/wiki/MacOS_version_
history
– UNIX: https://www.levenez.com/unix/
– Windows: https://goo.gl/images/oLVnkE
1. Introducción
• Los primeros SO se desarrollaron durante
la década de los 50, aunque eran muy ad-
hoc.
• IBM y otras empresas se suben al carro
del desarrollo de SO durante el principio
de la década de los 60.
• A finales de los 60 surge Unix, del cual la
mayoría de los SO modernos provienen.
1. Introducción
• En 1981, aparece MS-DOS, quien es el
precursor de Microsuave Ventanas.
• Hoy en día el mercado es dominado por
MacOS, Windows y Linux. Asimismo, SO
móbiles (iOS, Android, ChromeOS) nacen
a partir de aquellos SO.
1. Introducción
• Los primeros kernel fueron diseñados con
arquitectura monolítica (en contraposición
a microkernels, monolíticos con módulos e
híbridos).
• Últimamente los SO han evolucionado de
arquitecturas monolíticas a modelos
híbridos (Windows NT, XNU – MacOS,
iOS).
1. Introducción
• La idea en este curso es que trabajen
duro en lo que es programación y tengan
la oportunidad de ahondar su habilidad y
conocimientos en esos temas.
• Su entendimiento debería incrementarse
bastante en cuanto al funcionamiento de
bajo nivel de la máquina.
1. Introducción
• La gran mayoría de los ejemplos del curso
se trabajarán en C/C++. Es recomendable
además efectuar las tareas del curso en
esos lenguajes, pues permite mayor
control sobre las primitivas asociadas.
• Así que… a repasar C/C++!!!

También podría gustarte