un proceso en esencia un programa
en ejecución un proceso es un
recipiente que guarda toda la
información necesaria para ejecutar
un programa.
procesos
procesos hijos
puede crear uno o más
procesos aparte y estos
procesos a su vez pueden
crear procesos hijos,
llegamos rápidamente la
estructura de árbol de procesos.
imagen de
núcleo
proceso (suspendido) consiste
en su espacio de direcciones,
que guarda el contenido de
sus registros y muchos otros
elementos necesarios para
reiniciar el proceso más adelante.
tablas de procesos
arreglo (o lista enlazada)
de estructuras, una para
cada proceso que se encuentre
actualmente en existencia.
conceptos de los sistemas operativos
la ortogenia recapitula
la filogenia
Hardware de protección
Con la introducción de la IBM 360, se
hizo disponible una forma primitiva de protección de hardware y estas máquinas podían de esta forma contener varios programas en memoria al mismo tiempo, y dejarlos que tomaran turnos para
ejecutarse (multiprogramación).
Las primeras mainframes no tenían hardware de protección, por lo que sólo ejecutaban un programa a la vez. Un programa con muchos errores podía acabar con el sistema operativo y hacer que la máquina fallara con facilidad.
Memorias extensas
Cuando las microcomputadoras llegaron a principios de 1980, las primeras tenían memorias
de 4 KB. Ahora sus descendientes, las computadoras personales, tienen mucha memoria y se programan en C, C++ y Java, además de otros lenguajes de alto nivel.
Las primeras mainframes tenían memoria limitada con 128 KB de memoria.
la primera minicomputadora comercial (PDP-1), sólo tenía
4096 palabras de 18 bits de memoria.
protección
la protección de archivos, existen muchas otras cuestiones de seguridad. Una de
ellas es proteger el sistema de los intrusos no deseados, tanto humanos como no humanos (por
ejemplo, virus).
Las computadoras contienen grandes cantidades de información que los usuarios comúnmente desean proteger y mantener de manera confidencial
Es responsabilidad del
sistema operativo administrar la seguridad del sistema de manera que los archivos, por ejemplo, sólo sean accesibles para los usuarios autorizados.
entrada/salida
E/S es independiente de los dispositivos, es decir, se aplica
a muchos o a todos los dispositivos de E/S por igual.
como los drivers de
dispositivos, son específicas para ciertos dispositivos de E/S.
Todas las computadoras tienen dispositivos físicos para adquirir entrada y producir salida.
archivos
concepto clave de casi todos los sistemas operativos es el sistema de archivos. . Sin duda se requieren las llamadas al sistema para
crear los archivos, eliminarlos, leer y escribir en ellos. Antes de poder leer un archivo, debe localizarse en el disco para abrirse y una vez que se ha leído información del archivo debe cerrarse.
canal
Un canal (pipe) es un tipo de pseudoarchivo que puede utilizarse para conectar dos procesos. la única manera en que un proceso puede descubrir que el archivo de salida en el que está escribiendo no es en realidad un archivo sino un canal, es mediante una
llamada al sistema especial. Los sistemas de archivos son muy importantes.
2 tipos de archivos
De manera similar, los archivos especiales de carácter se utilizan para modelar impresoras, módems y otros dispositivos que aceptan o producen como salida un flujo de caracteres. Por convención, los archivos especiales se mantienen en el directorio /dev.
se utilizan para modelar dispositivos que consisten en una colección de bloques direccionables al azar, tales como los discos. un programa puede acceder de manera directa al cuarto bloque en el dispositivo sin importar la estructura del sistema de archivos que
contenga.
directorio
la mayoría de los sistemas
operativos tienen el concepto de un directorio como una manera de agrupar archivos.
espacios de dirección
el sistema operativo mantiene
una parte del espacio de
direcciones en memoria
principal y otra parte en el
disco, moviendo
pedazos de un lugar a otro
según sea necesario.
en muchas computadoras las
direcciones son de 32 o 64 bits,
con lo cual se obtiene un espacio
de direcciones de 232 o 264 bytes, respectivamente.