Introducción Hoy en día muchas personas, usan las computadoras

Anuncio
Introducción
Hoy en día muchas personas, usan las computadoras de una forma muy fácil,
muchos llegan a creer que la máquina con la cual trabajan tiene incorporada
todas las potencialidades con las que están habituados a trabajar.
En realidad eso no es así ya que debajo de todas esas facilidades está presente
un agente que facilita las cosas y que convierte a la computadora en un ente
mucho más poderoso de lo que realmente es, en palabras técnicas, ese agente
convierte la computadora real en una computadora virtual mucho más
poderosa.
¿Quién es ese agente y cómo actúa? El quién tiene una respuesta muy obvia
“El agente es el Sistema Operativo”, el cómo es uno de los objetivos de este
mapa conceptual que les ofrece el Grupo de Informática Educativa (GIE) de la
Facultad de Matemática, Física y Computación (MFC) de la Universidad Central
de las Villas (UCLV) desde la ciudad de Santa Clara en el centro de la República
de Cuba.
Los sistemas operativos constituyen una parte importante de cualquier sistema
de cómputo, los cuales se pueden ver como un conjunto de capas que van
desde lo más básico o de bajo nivel (el hardware), hasta lo más cercano a
nosotros o del alto nivel (el software de aplicación). Por encima de todo eso
están los usuarios (figura 1).
Esta concepción, muy frecuente en los diseños, permite que las capas
superiores se nutran de los servicios que brindan las capas inferiores, de forma
que cada una se especialice en lo que realmente tiene que hacer, sin
involucrarse en detalles complejos que son resueltos por sus antecesores.
Usuario
Programas de
Aplicación
Sistema Operativo
Hardware
Figura 1. Sistema de cómputo estructurado por capas.
Los sistemas operativos son grandes y complejos, por ese motivo se
programan como piezas separadas de software (módulos) que tienen
funciones específicas. Las partes interactúan entre sí para lograr alcanzar el
objetivo común: Hacer más fácil el uso de los recursos del sistema y mejorar
la eficiencia con que se usan.
Definición:
Un sistema operativo es un programa que manipula los recursos de la
computadora los cuales pueden ser de hardware o de software.
Algunos tipos de sistemas operativos se diseñan para ser eficientes otros
para ser fáciles de usar y otros tratan de lograr ambas cosas estableciendo
un determinado compromiso.
Estructura y operaciones de los sistemas operativos.
Uno de los aspectos mas importantes de los sistemas operativos actuales es
la capacidad de ejecutar varios programas a la vez, lo que se conoce con el
nombre de multiprogramación o multitarea.
Para poder ejecutar un programa se necesita tenerlo en memoria, una
posible solución es la que se muestra en la figura 2, aunque en realidad no
es necesario que el programa completo esté cargado en la memoria (solo
una parte de él).
Sistema Operativo
Trabajo 1
Trabajo 2
Trabajo 3
Trabajo 4
Figura 2. Varios trabajos en memoria permiten multiplexar el procesador.
La idea de no tener el programa completo cargado en memoria permite hacer
creer que la memoria es mayor de lo que realmente es y da surgimiento al
concepto de memoria virtual.
Operación Dual
Debido a que el sistema operativo es un programa más (que necesita
determinadas prioridades) es importante comprender el modo de operación
dual. La mayoría de las computadoras actuales permiten varios modos de
operación (al menos dos) y el sistema operativo aprovecha esa oportunidad
para distinguir entre dos modos:
• Modo usuario.
• Modo kernel (también se conoce como modo sistema y modo
supervisor).
Los programas de usuario actúan siempre en modo usuario, cuando
necesitan hacer operaciones que se consideran privilegiadas (solo las
puede hacer el SO) le piden al sistema operativo que las haga. Cuando el
SO recibe la solicitud de ejecutar una tarea privilegiada, se cambia a modo
kernel y efectúa la operación, dando de esa forma una protección efectiva a
los recursos, una vez realizada la operación privilegiada pasa el procesador a
modo usuario y le devuelve el control al programa. La idea se ilustra en la
figura 3.
Área de procesos de usuario
Proceso ejecutando instrucciones de usuario … Llamada al SO Retorno de la llamada
.
Área del núcleo o kernel del SO
Ejecuta la Llamada
Figura 3. Transición de modo de operación
Cuando se enciende una computadora, comienza el proceso de inicialización
del sistema operativo (bootstrap) el hardware de la computadora está en ese
instante en modo kernel, mas adelante los modos se irán intercambiando y el
SO asume la responsabilidad de efectuar los intercambios dándole las
instrucciones precisas al hardware. Esta forma de operación permite al SO
proteger a los usuarios y protegerse a sí mismo.
Visión general.
En general, se pueden destacar las siguientes tareas:
• Manipulación del procesador. Para que un programa pueda llevar a
cabo la tarea para la cual fue diseñado precisa tiempo del procesador,
este último puede ser uno solo o pueden ser varios pero en cualquier
caso habrá que compartirlo para poder realizar diversas tareas a la
vez.
Es importante destacar que un programa es un ente pasivo ya que
desde que se escribe, ya sea en una hoja, en la pizarra o se guarda en
una unidad de almacenamiento, existe como tal pero no realiza tarea
alguna. Por ese motivo los sistemas operativos usan el concepto de
proceso definido como un programa en ejecución, debe observarse
que un proceso necesita recursos para poder ejecutarse, entre ellos, el
procesador. El SO será el responsable de:
o Crear y eliminar los procesos (de usuarios y del propio SO).
o Suspender y volver a activar los procesos.
o Facilitar mecanismos para sincronizar procesos que cooperan
entre sí.
o Facilitar mecanismos para que los procesos se comuniquen
entre sí, etc.
• Manipulación de la memoria. Para que los procesos se puedan
ejecutar precisan de memoria para almacenarse a sí mismo y a sus
datos, como la memoria no es infinita y se quieren ejecutar muchos
procesos a la vez, algunos de los cuales pueden rebasar el limite de
•
•
memoria física, habrá que disponer de mecanismos que ayuden a
repartirla de forma efectiva. El SO es responsable de:
o Conocer las partes de la memoria que están disponible y
ocupadas.
o Decidir cuáles procesos (o partes de ellos) deben ser cargados
en la memoria y cuáles deben ser desalojados de la memoria
(puede ser que hacia dispositivos externos), etc.
Manipulación de los equipos externos de almacenamiento. Para
poder almacenar programas y datos de forma permanente, el SO usa
el concepto de archivo y se abstrae de las particularidades físicas de
los equipos sobre los que residen los datos. El módulo denominado
Sistema de Archivo se encarga de esa responsabilidad.
Protección y seguridad. Un sistema de cómputo tiene muchos
usuarios y existen muchos procesos que se ejecutan a la vez, el SO
es el responsable de proteger a todos estos elementos. Con el
concepto de Protección se engloba al conjunto de mecanismos que
permiten controlar el acceso de usuarios y procesos a los recursos del
sistema, mientras la seguridad se refiere a la defensa ante los
eventos externos tales como virus, etc.
Descargar