Los sistemas operativos tienen dos funciones principales;
- Proveer abstracción a los programas de usuario
- Administrar los recursos del sistema
El análisis que nos proporcionan será envase a POSIX (estándar internacional 9945-1) por ende implica también a UNIX (BSD, Linux, MINIX 3, etc.)
Llamada al sistema es altamente dependiente de la maquina y a menudo debe expresarse en código ensamblador, se proporciona una biblioteca de procedimientos para hacer posible la llamada al sistema desde un programa en C.
Para llamar al sistema ocupamos el comando read el cual esta compuesto por 3 parámetros los cuales son:
- Especifica el archivo
- Apunta al bufer
- Proporciona el numero de bytes a leer.
Ejemplo: cuenta=read(fd,bufer,nbytes);
La llamada al sistema nos devuelve un numero de bytes que se leen por lo general siempre es el mismo que nbytes pero puede llegar a ser mas pequeño. Si llegara a existir un error la cuenta se establece en -1 y el numero error se coloca en una variable global llamada errno.
Llamada al sistema para la administracion de procesos.
Para esto la unica manera de crear un proceso nuevo es mediante el comando fork el cual realiza un duplicado exacto del proceso original, incluyendo todos los descriptores de archivo para de esta manera crear un "hijo" el cual realizara el nuevo proceso.
En unix el proceso es muy similar pero se encuentra dividida la memoria en 3 segmentos los cuales son:
- Textos
- Datos
- Pila
Las llamadas mas comunes son read y write Para los programas que necesitan acceder a cualquier parte del archivo de forma aleatoria. Cada archivo tiene un apuntador asociado, el cual indica la posición actual del archivo. Al hacerlo de forma secuencial el apuntador indicara al ultimo bit.
Para ello se ocupa el comando iseek El cual tiene 3 parámetros que serán los siguientes:
- Descripción del archivo
- Posición en el archivo
- Indicador de posición es relativa (inicio parcial o final)
En cambio en UNIX lleva el registro dl modo archivo, hora de la ultima modificación y demás información. Para visualizar esta información se ocupa stat el cual nos proporciona los siguientes parámetros:
- Especifica el archivo a inspeccionar
- Apuntador a una estructura donde se coloca la información
Llamada al sistema para la administración de directorios.
Las primeras dos llamadas mas comunes que se hacen son 2:
- mhdir
- rmdir
link: Su propósito es permitir que aparezca el mismo archivo bajo dos o mas nombres, a menudo en distintos directorios.
Todo archivo UNIX tienen un numero único -i Este es un índice en una tabla de nodos -i el cual indica quien es el propietario del archivo, en donde están sus bloques de disco, etc