Historia de la Computación | Sistemas Operativos | Definiciones | Servicios de Windows XP | ¿Que es un Hacker? | Trucos para Windows | Enlaces |
CONCEPTOS DE LOS SISTEMAS OPERATIVOS
¿Que es un Sistema Operativo?
Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar un entorno en el cual el usuario pueda ejecutar programas. El objetivo principal de un sistema operativo es lograr que el sistema de computación se use de manera cómoda, y el objetivo secundario es que el hardware del computador se emplee de manera eficiente.
Un sistema Operativo (SO) es en sí mismo un programa de computadora. Sin
embargo, es un programa muy especial, quizá el más complejo e importante en una
computadora. El SO despierta a la computadora y hace que reconozca a la CPU, la
memoria, el teclado, el sistema de vídeo y las unidades de disco. Además,
proporciona la facilidad para que los usuarios se comuniquen con la computadora
y sirve de plataforma a partir de la cual se corran programas de aplicación.
Cuando enciendes una computadora, lo primero que ésta hace es llevar a cabo un
autodiagnóstico llamado auto prueba de encendido (Power On Self Test, POST).
Durante la POST, la computadora identifica su memoria, sus discos, su teclado,
su sistema de vídeo y cualquier otro dispositivo conectado a ella. Lo siguiente
que la computadora hace es buscar un SO para arrancar (boot).
Una vez que la computadora ha puesto en marcha su SO, mantiene al menos parte de
éste en su memoria en todo momento. Mientras la computadora esté encendida, el
SO tiene 4 tareas principales:
Proporcionar ya sea una interfaz de línea de comando o una interfaz gráfica al
usuario, para que este último se pueda comunicar con la computadora. Interfaz de
línea de comando: tú introduces palabras y símbolos desde el teclado de la
computadora, ejemplo, el MS-DOS. Interfaz gráfica del Usuario (GUI), seleccionas
las acciones mediante el uso de un Mouse para pulsar sobre figuras llamadas
iconos o seleccionar opciones de los menús.
Administrar los dispositivos de hardware en la computadora. Cuando corren los
programas, necesitan utilizar la memoria, el monitor, las unidades de disco, los
puertos de Entrada/Salida (impresoras, módems, etc.). El SO sirve de
intermediario entre los programas y el hardware.
Administrar y mantener los sistemas de archivo de disco. Los SO agrupan la
información dentro de compartimientos lógicos para almacenarlos en el disco.
Estos grupos de información son llamados archivos. Los archivos pueden contener
instrucciones de programas o información creada por el usuario. El SO mantiene
una lista de los archivos en un disco, y nos proporciona las herramientas
necesarias para organizar y manipular estos archivos.
Apoyar a otros programas. Otra de las funciones importantes del SO es
proporcionar servicios a otros programas. Estos servicios son similares a
aquellos que el SO proporciona directamente a los usuarios. Por ejemplo, listar
los archivos, grabarlos a disco, eliminar archivos, revisar espacio disponible,
etc. Cuando los programadores escriben programas de computadora, incluyen en sus
programas instrucciones que solicitan los servicios del SO. Estas instrucciones
son conocidas como "llamadas del sistema".
Llamadas al Sistema
La interfaz entre el sistema operativo y los programas del usuario se
define por medio del conjunto de "instrucciones extendidas" que el sistema
operativo proporciona. Estas instrucciones extendidas se conocen como llamadas
al sistema. Las llamadas al sistema varían de un sistema operativo a otro
(aunque los conceptos fundamentales tienden a ser análogos).
Las llamadas al sistema se clasifican normalmente en dos categorías generales:
aquellas que se relacionan con procesos y la que lo hacen con el sistema de
archivo.
Por Procesos
Un proceso es básicamente un programa en ejecución. Consta
del programa ejecutable y la pila o stack del programa, su contador de programa,
apuntador de pila y otros registros, así como la otra información que se
necesita para ejecutar el programa. En si el proceso en el concepto de los
sistemas operativos es como el sistema de tiempo compartido. Esto es, que en
forma periódica, el sistema operativo decide suspender la ejecución de un
proceso y dar inicio a la ejecución de otro, por ejemplo, porque el primero haya
tomado ya más de su parte del tiempo de la CPU, en terrenos del segundo.
Cuando un proceso se suspende temporalmente, debe reiniciarse después
exactamente en el mismo estado en que se encontraba cuando se detuvo. Esto
significa que toda la información relativa al proceso debe guardarse en forma
explícita en algún lugar durante la suspensión. En muchos sistemas operativos,
toda la información referente a cada proceso, diferente del contenido de su
espacio de direcciones, se almacena en una tabla de sistema operativo llamada
tabla de procesos, la cual es un arreglo (lista enlazada) de estructuras, una
para cada proceso en existencia.
Por lo tanto, un proceso (suspendido) consta de su espacio de direcciones,
generalmente denominado imagen del núcleo (en honor de las memorias de imagen de
núcleo magnético que se utilizaron en tiempos antiguos) y su registro de la
tabla de procesos, que contiene sus registros entre otras cosas.
Por Sistema de Archivo
Una función importante del S.O. consiste en ocultar las
peculiaridades de los discos y otros dispositivos de E/S y presentar al
programador un modelo abstracto, limpio y agradable de archivos independientes
del dispositivo. Las llamadas al sistema se necesitan con claridad para crear
archivos, eliminarlos, leerlos y escribirlos. Antes de que se pueda leer un
archivo, éste debe abrirse y después de que se haya leído debe cerrarse, de modo
que las llamadas se dan para hacer estas cosas.
Antes de que un archivo pueda leerse o escribirse, éste debe abrirse, en cuyo
instante se verifican los permisos. Si se permite el acceso, el sistema produce
un entero pequeño llamado descriptor del archivo para utilizarse en operaciones
subsiguientes. Si se prohibe el acceso, se produce un código de error.
Shell (intérprete de comandos)
El sistema operativo es el código que realiza las llamadas al
sistema. Los editores, compiladores, ensambladores, enlazadores e intérpretes de
comandos definitivamente no son parte del sistema operativo, aunque son
importantes y útiles. El Shell es el intérprete de comandos, a pesar de no ser
parte del sistema operativo, hace un uso intenso de muchas características del
sistema operativo y por tanto sirve como un buen ejemplo de la forma en que se
pueden utilizar las llamadas al sistema. También es la interfaz primaria entre
un usuario situado frente a su terminal y el sistema operativo.
Cuando algún usuario entra al sistema, un "shell" se inicia. El shell tiene la
terminal como entrada y como salida estándar. Este da inicio al teclear
solicitud de entrada, carácter como un signo de pesos, el cual indica al usuario
que el shell está esperando un comando. En MS-DOS normalmente aparece la letra
de la unidad, seguida por dos puntos (:), el nombre del directorio en que se
encuentra y por último el signo de "mayor que" (>). Esto es: C:\>