Conceptos básicos

De Wiki de Sistemas Operativos
Revisión del 13:05 15 oct 2011 de Marturnev (discusión | contribuciones) (Llamadas a sistema)
Saltar a: navegación, buscar

2.1. Conceptos básicos

A continuación se desarrollan conceptos básicos que se emplearán a lo largo de la asignatura.

Programa

  • Secuencia de instrucciones que, al ejecutarse, desarrolla algún tipo de actividad.

Proceso

  • Instancia de un programa que está en ejecución. Como mínimo dispone de una línea de ejecución. Se puede entender como la vista dinámica de un programa en ejecución y también se le conoce como la imagen del estado de la CPU y la memoria durante la ejecución de un programa.

Queda definido por: {programa, estado}

Cada sistema operativo tiene una forma propia de identificar procesos, por ejemplo windows identifica los procesos por el nombre de la imagen (programa ejecutable), el nombre del usuario que lo ejecuta, la memoria de trabajo del proceso, la CPU que lo lleva a cabo y una descripcion del proceso. Estos datos se almacenan en un registro especial, llamado bloque de control del proceso (BCP).

En algunos sistemas operativos es posible que un programa ordene que lo sustituya otro (el cual continua el trabajo), en ese caso se considera que ambos programas forman parte del mismo proceso.

Llamadas a sistema

  • Se implementan a través de una interfaz (o API) que ofrece el Sistema Operativo. Son mecanismos que ofrece el Sistema Operativo a los procesos para que soliciten un servicio o recurso al Sistema Operativo. (Otra definición, según Wikipedia: Llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO.) Estas llamadas a sistema evitan que el proceso acceda directamente a los recursos del hardware.

En el caso de Linux tiene aproximadamente 350 llamadas al sistema en la versión 3.0.0. La mayor parte de los Sistemas Operativos suelen implementar la API POSIX por razones de portabilidad.

Usuario

  • Sujeto que interactúa con la computadora. Puede ser un humano o un autómata (software).
  • En sistemas UNIX encontramos un código único para cada uno, el UID (User IDentifier). A su vez debe pertenecer a un grupo, definido por el GID (Group IDentifier).

Fichero

  • Estructura de datos que almacena información.

Los ficheros se identifican mediante su nombre y su extension (un apendice que se utiliza para indicar el tipo de informacion que contiene el fichero).

El lugar donde se encuentra un fichero viene dado por su directorio. Dentro de un directorio pueden existir otros directorios (llamados subdirectorios) lo que da lugar a una organizacion en forma de arbol.

Al camino que debemos seguir para encontrar un fichero lo llamamos camino absoluto.