Sistemas Operativos
 
navegación

Universidad del Cauca
2010

Contenido de la asignatura

En esta página puede consultar el contenido de la asignatura y alguna bibliografía asociada.


Diapositivas de Gestión de Memoria

En el siguiente enlace encontrarán las diapositivas del tema de gestión de memoria (PDF).


Ejemplos de sincronización con semáforos

En los siguientes enlaces encontrarán algunos ejemplos de sincronización de procesos usando semáforos:


Código de IPC

En el siguiente enlace encontraán un archivo comprimido con los ejemplos de Comunicación de Procesos (IPC). Estos ejemplos son:

Comunicación Local:

  • Memoria Compartida (smclient.c, shmserver.c, structs.h)
  • Tuberías (pipe1.c)
  • Sockets locales (local_server.c, local_client.c)

Comunicación remota:

  • Sockets de Internet (inet_server, inet_client.c)

Enlace al archivo .zip (Enlace).


Código de Sincronización de Procesos

En el siguiente enlace encontraán un archivo comprimido con los ejemplos de sincronización de procesos (Enlace).


Video Clase 6


En el siguiente enlace encontrarán el video de la clase 6: Gestión de Procesos (Enlace).


Video Clase 5

En el siguiente enlace encontrarán el video de la clase 5: Sector de Arranque y Kernel (Enlace).


Video Clase 4

En el siguiente enlace encontrarán el video de la clase 4: Flujo de ejecución en modo real(Enlace).


Documentación IA-32

En los siguientes enlaces encontrarán una serie de documentos que describen la estructura y la programación de procesadores de arquitectura IA-32

  • Generalidades de la arquitectura IA-32 (Enlace)
  • Lenguaje Ensamblador para IA-32 (Enlace)

Video configuración de variable BOCHSRC y depurador gráfico

En el siguiente video se muestra el proceso para configurar la variable BXSHARE en Windows XP (Enlace). En el video también se muestra el proceso de usar el depurador gráfico de Bochs desde Eclipse en Windows XP. (Video cortesía de Spyke)

Nota: El depurador gráfico para Linux (Ubuntu y Mandriva) se encuentra deshabilitado por defecto.

Para estos sistemas operativos, se deberá desinstalar Bochs e instalarlo con los siguientes paquetes que traen el depurador gráfico habilitado:

  • Bochs 2.4.5 para Mandriva 2010 (RPM) (enlace)
  • Bochs 2.4.5 para Ubuntu 2010 (DEB) (enlace)

 

En el archivo bochsrc_debug.txt de cada proyecto, habilitar y cambiar la siguiente línea (como se muestra en el video):

display_library: x, options="gui_debug"


Video Clase 3

En el siguiente enlace encontrarán el video de la clase 3: rutinas en modo real(Enlace). El código de este video se encuentra de Código de la Clase 3.


Código de la Clase 3

En el siguiente enlace encontrarán un archivo comprimido con el código de la Clase 3. Se deberá descomprimir el archivo, y luego en Eclipse selecconar la opción Archivo > Importar... > General > Proyecto existente, y seleccionar la carpeta con el código que se acabó de descomprimir (Enlace).

En el enlace se encuentran las versiones en sintaxis AT&T e Intel del código.


Código de la Clase 2

En el siguiente enlace encontrarán un archivo comprimido con el código de la Clase 2. Se deberá descomprimir el archivo, y luego en Eclipse selecconar la opción Archivo > Importar... > General > Proyecto existente, y seleccionar la carpeta con el código que se acabó de descomprimir (Enlace).


Código de la Clase 1

En el siguiente enlace encontrarán un archivo comprimido con el código de la Clase 1. Se deberá descomprimir el archivo, y luego en Eclipse selecconar la opción Archivo > Importar... > General > Proyecto existente, y seleccionar la carpeta con el código que se acabó de descomprimir (Enlace).


Instalación de las adiciones de huesped en Ubuntu 10

En el siguiente video se muestra el proceso de instalar las adiciones de huesped en Ubuntu (Enlace).


Ejemplos de aprendizaje de sistemas operativos

En los siguientes enlaces se tiene acceso a algunos ejemplos de la serie "Aprendiendo Sistemas Operativos".

  • Ejemplos de programación en lenguaje de ensamblador en un entorno DOS (enlace). Estos ejemplos requieren el uso del emulador 'DosBox', disponible para Windows y Linux.
  • Ejemplos de programación en modo real para procesadores x86 (enlace). Estos ejemplos requieren tener instalado el emulador Bochs o Qemu.
  • Ejemplos de programación en modo protegido de 32 bits para procesadores x86 (enlace). Estos ejemplos también requieren tener instalado el emulador Bochs o Qemu

Autor: Erwin Meza Vega. El autor otorga permiso para que estos materiales se usen dentro del entorno académico de la asignatura de Sistemas Operativos, en el primer semestre academico de 2011.


 Guías de instalación del Software de Desarrollo de Sistemas Operativos bajo sistemas operativos Windows

En los siguientes enlaces encontrarán las guías para instalar el software requerido para editar, compilar y ejecutar los proyectos de Aprendizaje de Sistemas Operativos bajo sistemas operativos Windows.

  • Para Windows XP, Vista y 7 de 32 bits (Enlace)
  • Para Windows XP, Vista y 7 de 64 bits (Enlace)

Los paquetes se deben solicitar en la oficina del profesor, debido a su tamaño (Aproximadamente 300 MB). Una vez instalados, los paquetes ocupan aproximadamente 1 GB de espacio en el disco C:\.


Enlace a la página con la explicación de las llamadas al sistema en Linux (Enlace 1) (Enlace 2)


Documentación BIOS, Ensamblador

Enlace a la pagina que contiene la descripcion de los servicios de la BIOS Enlace

En la página principal del mismo sitio encontrarán un enlace a las instrucciones básicas del procesador x86 (Enlace). Tenga en cuenta que la sintaxis utilizada en este sitio es Intel, mientras que la sintaxis que se utiliza en los laboratorios es AT&T.


Modo real: flujo de la ejecución

El siguiente documento presenta una visión conceptual del control del flujo de la ejecución en modo real. El flujo de la ejecución se puede alterar por medio de:

  • Saltos (instrucciones jmp, ljmp, jz, je, jne, …)
  • Llamada a rutinas (instrucciones call, lcall)
  • Llamada a una interrupción (instrucción int),
  • Retorno de interrupciones (instrucción iret) realizados por el procesador
    o "simulados",
  • Errores al ejecutar una instrucción (división por cero, etc). El procesador lanza una “Excepción” (interrupción).

Para tener acceso al documento sigan el siguiente enlace (PDF).


Ejecución de los ejemplos de aprendizaje con Eclipse

El siguiente video muestra el proceso de instalación del emulador de DOS (DOSBox) utilizado para los ejemplos de creación de archivos .COM, y el proceso para ejecutar los ejemplos de aprendizaje de sistemas operativos haciendo uso del IDE Eclipse. (enlace).

Para ver el video en pantalla completa, presione F11 en el navegador.


Instalación del JDK y Eclipse en Mandriva 2010

El siguiente video muestra el proceso de instalación del JDK y de Eclipse a partir de los archivos binarios. (enlace).

Para ver el video en pantalla completa, presione F11 en el navegador.

Nota:

Estos paquetes pueden ser instalados desde el administrador de software, si se cuenta con una conexion a Internet. Los paquetes son: java-1.6.0-sun-devel y eclipse-cdt. Tambien pueden ser instalados con urpmi. Sin embargo, si utilizan esta estrategia necesitarán instalar aproximadamente 280 MB de software adicional.


Instalación y configuración de Mandriva 2010 One

Los siguientes videos muestran el proceso de instalar Mandriva 2010 One (el archivo .ISO de esta distribución se puede descargar en: http://www2.mandriva.com/es/downloads/one/)

  • Instalación de Mandriva 2010 One, configuración de la interfaz gráfica, instalación de software (enlace)

Para ver los videos en pantalla completa, presione F11 en el navegador.


Instalación y configuración de Ubuntu 10

Los siguientes videos muestran el proceso de instalar Ubuntu 10 (el archivo .ISO de esta distribución se puede descargar en: http://www.ubuntu.com/desktop/get-ubuntu/download)

  • Instalación de Ubuntu 10 (enlace)

Para ver los videos en pantalla completa, presione F11 en el navegador.


Lecturas de clase:


En la siguiente URL pueden encontrar un mapa de la evolución de los Sistemas Operativos

(No UNIX): http://www.oshistory.net/metadot/index.pl

UNIX: http://www.unix.org/what_is_unix/history_timeline.html


En las siguientes direcciones encontrarán materiales de estudio de Sistemas Operativos:

  • Diapositivas del libro "Modern Operating Systems, 2nd Edition" por Andrew Tanenbaum (Enlace). Buscar enlace Powerpoint slides. Derechos reservados de el (los) autores.
  • Diapositivas del libro "Operating System Concepts, 7th Edition" por Silberschatz, Galvin y Gagne. (Enlace). Derechos reservados de el (los) autores.


En la siguiente dirección URL pueden encontrar una excelente guía sobre la programación en C yel uso de las llamadas al sistema.
http://www.cs.cf.ac.uk/Dave/C/.

(Derechos de autor de David Marshall, 1994).


Erwin Meza Vega. Oficina 450 edificio FIET, Sector Tulcán. Popayán, Cauca. Tel: (2)8209800 ext 2149.