Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistema operativo
■ Conjunto de servicios que provee el sistema operativo útiles para el usuario (Cont.):
● Manipulación del sistema archivos – El sistema de archivos es muy
importante. Los programas necesitan leer y escribir archivos y directorios, crear
y eliminarlos, realizar búsquedas, ver la información de los archivos, manejo de
permisos.
● Comunicaciones – Los procesos pueden intercambiar información, en la misma
computadora o entre computadoras sobre una red
4 Las comunicaciones pueden ser vía memoria compartida o mediante paso
de mensajes (paquetes de información movidas por el SO)
● Detección de errores – El SO necesita estar constantemente pendiente de
posibles errores
4 Pueden ocurrir en la CPU, en el hardware de la memoria, en dispositivos de
E/S, en un programa de usuario
4 Para cada tipo de error, el SO debe tomar las acciones adecuadas para
asegurar la recuperación del error y el correcto funcionamiento posterior
■ Metáfora de escritorio
● Generalmente ratón, teclado y monitor
● Los íconos representan archivos, programas, acciones, etc.
● Los botones del ratón causan diversas acciones (proveer información,
opciones, ejecutar, abrir directorio (conocidos como carpetas)
● Inventado en Xerox PARC
■ Varios sistemas ahora incluyen CLI y GUI
● Microsoft Windows posee GUI con CLI básico
● Apple Mac OS X posee “Aqua” para la GUI con el kernel de UNIX
disponibiliza varios shells CLI.
● Unix and Linux poseen CLI con GUI opcionales (CDE, KDE, GNOME)
■ Programas de aplicación
● No pertenecen al sistema
● Ejecutado por usuarios
● Normalmente no se consideran parte del SO
● Se lanzan vía línea de comandos, clicks del ratón, gestos con el dedo
■ Mucha variación
● Los primeros sistemas operativos estaban escritos en lenguaje
ensamblador
● Ahora principalmente en C, C++
■ En realidad, normalmente son una mezcla de lenguajes
● Los niveles más bajos en lenguaje ensamblador
● El cuerpo principal en C
● Los programas de sistema en C, C++, lenguajes interpretados como
PERL, Python, shells scripts
● Si se utiliza un lenguaje de alto nivel es más fácil portar a otro
● Pero más lento que su contrapartida puramente en lenguaje
ensamblador
messages messages
microkernel
hardware
kernel environment
BSD
Mach
Applications
Application Framework
surface media
Dalvik
manager framework
virtual machine
webkit libc
Linux kernel