01.Unidad I.Introducción a los Sistemas Operativos

12
UNI –Universidad Nacional de Ingeniería Sistemas Operativos y Redes UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE ELECTROTECNIA Y COMPUTACIÓN (FEC) SISTEMAS OPERATIVOS Y REDES I SEMESTRE 2011 ELABORADO POR: MARVIN LIRA CHAMORRO REVISADO Y ADAPTADO POR: GLENDA BARRIOS AGUIRRE Fecha de Elaboración: 08/2010 Actualizado: 09/2011 Unidad I. Conceptos Básicos de Sistemas Operativos Página No.1

description

E LABORADO P OR : M ARVIN L IRA C HAMORRO R EVISADO Y A DAPTADO POR : G LENDA B ARRIOS A GUIRRE Fecha de Elaboración: 08/2010 Actualizado: 09/2011 Unidad I. Conceptos Básicos de Sistemas Operativos Página No.1 Sistemas Operativos y Redes UNI –Universidad Nacional de Ingeniería

Transcript of 01.Unidad I.Introducción a los Sistemas Operativos

Page 1: 01.Unidad I.Introducción a los Sistemas Operativos

UNI –Universidad Nacional de Ingeniería Sistemas Operativos y Redes

UNIVERSIDAD NACIONAL DE INGENIERÍAFACULTAD DE ELECTROTECNIA Y COMPUTACIÓN (FEC)

SISTEMAS OPERATIVOS Y REDESI SEMESTRE 2011

ELABORADO POR: MARVIN LIRA CHAMORROREVISADO Y ADAPTADO POR: GLENDA BARRIOS AGUIRRE

Fecha de Elaboración: 08/2010Actualizado: 09/2011

Unidad I. Conceptos Básicos de Sistemas Operativos Página No.1

Page 2: 01.Unidad I.Introducción a los Sistemas Operativos

UNI –Universidad Nacional de Ingeniería Sistemas Operativos y Redes

UNIDAD I: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS

Contenido

I.1 Introducción............................................................................................................................1I.2 Definición de un Sistema Operativo........................................................................................3

I.2.1 Definición del Sistema Operativo como máquina extendida...........................................3I.2.2 Definición del Sistema Operativo como administrador de recurso..................................3

I.3 Tipos de Sistemas Operativos..................................................................................................3I.3.1 S. O. por lotes...................................................................................................................3I.3.2 S. O. Multitareas..............................................................................................................3I.3.3 S. O. Multiprogramación..................................................................................................4I.3.4 S. O. Multiprocesamiento................................................................................................4I.3.5 S. O. Multiusuario............................................................................................................4I.3.6 S. O. Tiempo compartido.................................................................................................5I.3.7 S. O. de red y servidor......................................................................................................6I.3.8 S. O. Distribuido...............................................................................................................6I.3.9 S. O. de mainframe..........................................................................................................6I.3.10 S. O. tiempo real............................................................................................................6I.3.11 S. O. Integrados..............................................................................................................6I.3.12 S. O. de tarjetas inteligentes..........................................................................................6

I.4 Conceptos de los sistemas operativos.....................................................................................7I.4.1 Procesos...........................................................................................................................7I.4.2 Archivos...........................................................................................................................7I.4.3 El shell..............................................................................................................................8I.4.4 Llamadas al Sistema.........................................................................................................8

Unidad I. Conceptos Básicos de Sistemas Operativos Página No.2

Page 3: 01.Unidad I.Introducción a los Sistemas Operativos

UNI –Universidad Nacional de Ingeniería Sistemas Operativos y Redes

I.1 Introducción

El Software por computadora puede clasificarse en dos clases: Programas del Sistema y de Aplicación. Los programas del Sistema controlan la operación del hardware y los del usuario como su nombre lo dice resuelven los problemas de los usuarios.

Como ejemplo de los Programas del Sistema encontramos los Manejadores de dispositivos de E/S, esto incluye impresoras, discos duros, scaners, sin olvidar el mas importante el Sistema Operativo.

Como ejemplo de los programas de Usuario encontramos los Sistemas de Bases de Datos tales como: Nómina, Financiero, Inventario, etc, también encontramos los Procesadores de Texto y Juegos por Computadora.

Al contar el hardware con una capa de software que lo maneje se hace posible una buena administración de los recursos tales como: procesadores, memoria principal, discos, impresoras, etc.), al mismo tiempo se proporciona a los programas de usuario una interfaz más sencilla para comunicarse con el hardware, esto comúnmente se conoce como máquina virtual.

SistemaBancario

ReservaciónDe vuelos

NavegadorWeb Programas de aplicación

Compiladores Editores Interpretes deComandos Programas del sistema

Sistema OperativoLenguaje de máquina

HardwareMicro arquitecturaDispositivos físicos

Figura I.1. Un sistema de cómputo consiste en hardware, programas del Sistema y programas de aplicación.

En la parte inferior está el hardware, contiene dispositivos físicos hechos con circuitos integrados, cables, fuentes de potencia, TRC (Tubos de Rayos Catódicos).

Luego se encuentra el nivel de microarquitectura en el que los dispositivos físicos se agrupan para formar unidades funcionales. Por lo regular, este nivel contiene algunos registros internos de la CPU (Unidad central de procesamiento) y una ruta de datos que contiene una unidad aritmética y lógica.

Juntos el Hardware y las instrucciones que son visible para un programador en lenguaje ensamblador, constituyen el nivel de Arquitectura de conjunto de instrucciones (ISA: Instruction Set Architecture). Este nivel también se conoce como lenguaje de máquina.

A fin de ocultar esta complejidad se ofrece un sistema operativo, Éste consiste en una capa de SW que oculta (en forma parcial) el Hardware y proporciona al programador un conjunto de instrucciones con el cual puede trabajar con más comodidad.

Encima del Sistema Operativo está el resto de software del Sistema. Este punto es crucial. El sistema operativo es la porción del software que opera en modo de kernel

Unidad I. Conceptos Básicos de Sistemas Operativos Página No.3

Page 4: 01.Unidad I.Introducción a los Sistemas Operativos

UNI –Universidad Nacional de Ingeniería Sistemas Operativos y Redes

(o modo supervisor) y está protegida de la intervención del usuario por el hardware. Los compiladores y editores se ejecutan en modo usuario.

Por último están los programas de aplicación. Los usuarios compran o escriben estos programas para resolver sus problemas particulares.

I.2 Definición de un Sistema Operativo

I.2.1 Definición del Sistema Operativo como máquina extendida

“El sistema operativo presenta al usuario el equivalente de una máquina virtual que es más fácil de programar que el Hardware mismo” (Tanenbaum, woodhull ).

I.2.2 Definición del Sistema Operativo como administrador de recurso

“El sistema operativo asegura un repaso ordenado y controlado de los procesadores, memorias y dispositivos de E/S entre diferentes programas que compiten por ellos” (Tanenbaum, woodhull).

“Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware, su función principal es proporcionar un entorno amigable donde el usuario puede trabajar” (Silverchatz).

“Un sistema operativo es una colección ordenada de programa que mediante rutinas de control hace funcionar un computador y proporciona un entorno amigable en el cual realizar las tareas” (Milankovic).

I.3 Tipos de Sistemas Operativos

I.3.1 S. O. por lotes

Al inicio el programador escribía el programa en hojas de papel, luego perforaban las tarjetas y después se llevaba el paquete de tarjetas al cuarto de lectura (grababan datos en una cinta) que era proporcionada al programador, luego la computadora mostraba la salida en la impresora.

Resumen: Se ejecutaba una sola tarea por el Procesador. Ejemplo de los sistemas operativos por Lotes: FMS (Fortran Monitor System, IBSys (Sistema Operativo para la IBM 7094)

I.3.2 S. O. Multitareas

Los S. O. monotarea realizaban una sola operación con el procesador y luego la siguiente, con el inconveniente que uno tenía que esperar mucho tiempo para ejecutar la siguiente.

La multitarea carga en memoria, varias tareas que esperan ejecutarse.

Resumen: El sistema operativo es capaz de cargar varias tareas en memoria. Todos los sistemas operativos actuales son multitarea, algunos de ellos: Linux, Windows Nt, Windows Server, XP, etc.

Unidad I. Conceptos Básicos de Sistemas Operativos Página No.4

P1

Mem

oriaP2

P3

P4

Page 5: 01.Unidad I.Introducción a los Sistemas Operativos

UNI –Universidad Nacional de Ingeniería Sistemas Operativos y Redes

I.3.3 S. O. Multiprogramación El procesador ejecuta varias tares (las que se encuentran en la memoria). El CPU alterna entre las diferentes tareas que se encuentran en la memoria, para esto debe existir un control o registro de la ejecución de cada proceso.

La rápida alternancia entre un proceso y otro se denomina multiprogramación.

Resumen: Se ejecutan varias tareas que están cargadas en memoria pero en intervalos de tiempo distintos, viéndose esto por el usuario como una ejecución en paralelo. Ejemplo de estos sistemas operativos: Windows 2000 Server, NT, Ediciones de Linux.

I.3.4 S. O. Multiprocesamiento

Incorpora varios procesadores para ejecutar las diferentes tareas cargadas en memoria. Son más rápidos, requieren algoritmos más complejos

Resumen: Se ejecuta más de una tarea al mismo tiempo, esto es posible porque existe más de un procesador.

I.3.5 S. O. Multiusuario

Proporciona facilidades para el mantenimiento de entornos individuales.

Requiere medidas de seguridad y protección hacia los recursos del sistema.

El sistema operativo es capaz de manejar solicitudes o tareas de más de un usuario, para ello se requiere de la conectividad de más de un equipo, es decir de una Red de computadoras.

Unidad I. Conceptos Básicos de Sistemas Operativos Página No.5

t1 t2 t3 t4

P1

P2

tiempo (cpu)

Procesos

t1 t2 t3 t4

P1

P2

tiempo (cpu)

Procesos

P3

cpu1

cpu1

cpu1f

cpu2 cpu2

cpu2f

cpu2

Terminales tontas Servidor

Page 6: 01.Unidad I.Introducción a los Sistemas Operativos

UNI –Universidad Nacional de Ingeniería Sistemas Operativos y Redes

Resumen: El sistema operativo es capaz de recibir solicitudes de múltiples usuarios.

I.3.6 S. O. Tiempo compartido

Proporcionan a cada usuario una máquina. Los sistemas de tiempo compartido utilizan un mismo procesador que es compartido entre las distintas solicitudes o procesos de los múltiples usuarios. Para estos tipos de sistemas se requiere de una Red de Computadoras, y se hace necesario el uso de algoritmos más complejos que permitan una buena planificación del uso del CPU para los múltiples usuarios.

Resumen: Se requiere de una red de computadoras, de más de un usuario, el recurso compartido es el de la estación de trabajo que funciona como servidor el resto son terminales sin CPU. Ejemplo de S.O de este tipo son las primeras versiones de UNIX.

I.3.7 S. O. de red y servidor

Controla un conjunto de estaciones de trabajo interconectada, las estaciones clientes pueden correr en S.O. distintos, cada estación de trabajo cuenta con sus propios recursos.

Resumen: Hay más de un usuario, se requiere de más de una estación de trabajo, cada estación de trabajo cuenta con sus propios recursos, el Sistema Operativo debe ser capaz de atender las solicitudes de cualquiera de las estaciones de trabajo que administra.

I.3.8 S. O. Distribuido

Este presenta el mismo aspecto a todos los usuarios que lo utilizan tal como si estuviéramos trabajando con una sola estación de trabajo aunque en realidad los recursos que conforman el Sistema Operativo estén distribuidos físicamente o lógicamente en varias estaciones, es decir que contamos con múltiples procesadores, discos, memorias, etc. Los usuarios no deben enterarse de donde se están ejecutando sus programas o almacenando sus archivos.

I.3.9 S. O. de mainframe

Computadoras gigantes contienen muchos discos de almacenamiento (+ 1000) y miles de gigabytes en datos.

Los S. O. mainframe están claramente orientado al procesamiento de varios trabajos a la vez (mucha E/S). Los servicios que ofrecen suelen ser de tres tipos: por lotes (trabajos rutinarios sin presencia de usuario controlador), procesamientos de transacciones y tiempo compartido.

I.3.10 S. O. tiempo real

Se caracteriza porque su parámetro clave es el tiempo. Por ejemplo, en los sistemas de control de procesos industriales, computadoras de tiempo real tienen que capturar

Unidad I. Conceptos Básicos de Sistemas Operativos Página No.6

SO 1 SO 2 SO red/servidor

Page 7: 01.Unidad I.Introducción a los Sistemas Operativos

UNI –Universidad Nacional de Ingeniería Sistemas Operativos y Redes

datos acerca del proceso de producción y utilizarlos para controlar las máquinas de la fábrica.

I.3.11 S. O. Integrados

Utilizado en computadoras de bolsillo (palmtop)(Asistente personal digital; PDA: personal digital assistant) y sistemas integrados (T. V., hornos micro hondas y teléfonos móvil). ej. PalmOS y Windows CE (Consumer Electronics).

I.3.12 S. O. de tarjetas inteligentes

Los sistemas más pequeños se ejecutan en tarjetas inteligentes, que son dispositivos del tamaño de una tarjeta de crédito que contiene un chip de cpu.

Algunas tarjetas inteligentes están orientadas hacia Java. Esto implica que la ROM de la tarjeta inteligente contiene un intérprete de la máquina virtual de Java (JVM).

I.4 Conceptos de los sistemas operativos

I.4.1 Procesos

“Un proceso es básicamente un programa en ejecución”.

Cada proceso tiene asociado un espacio de direcciones (para leer y escribir en ella): que contiene el programa ejecutable, sus datos y pila.

Cada proceso está asociado también con algún conjunto de registro, incluido el contador de programa, el apuntador de la pila y otros registros de Hardware, así como toda la información necesaria para ejecutar el programa.

Un proceso puede crear uno o más procesos distintos (llamados procesos hijos), y éstos a su vez otros. Los procesos relacionados que están cooperando para llevar a cabo alguna tarea a menudo necesitan comunicarse entre sí y sincronizar sus actividades. Esta comunicación se llama comunicación entre procesos.

I.4.2 Archivos

Unidad I. Conceptos Básicos de Sistemas Operativos Página No.7

Page 8: 01.Unidad I.Introducción a los Sistemas Operativos

UNI –Universidad Nacional de Ingeniería Sistemas Operativos y Redes

Los archivos son un mecanismo de abstracción que proporciona el sistema operativo al usuario. Abstracción en archivos para el sistema operativo significa brindarle al usuario a través de su Shell programas que permitan realizar algunas operaciones básicas tal como: Crearlos, editarlos, eliminarlos, y organizar su información. En los sistemas operativos de tipo Windows esto lo vemos con el Explorador de Windows, y el Bloc de Notas, en los de tipo LINUX lo vemos con el editor VI, y el conjunto de comandos de manipulación de archivos tal como: ls para listar archivos y mkdir para crear directorios, etc). Esto debe hacerse de tal manera que el usuario no tenga que ocuparse de los detalles de ¿cómo? y ¿Dónde? se almacena la información, ni de ¿cómo funcionan realmente los discos.

A fin de contar con un lugar para guardar los archivos, se crea el concepto de “Directorio” como mecanismo para agrupar los archivos.

Archivos espaciales por bloque: Se usan para modelar dispositivos que consisten en una colección de bloques directamente direccionable, como los Discos.

Archivos especiales por carácter: Se usan para modelar impresora, módems y otros dispositivos que aceptan o producen flujos de caracteres.

Conductos: Es una especie de seudoArchivo que puede servir para conectar dos procesos. Cuando el proceso A desea enviar datos al proceso B, escribe en el conducto como si fuera un archivo de salida, el proceso B puede leer los datos leyendo del conducto como si fuera un archivo de entrada.

I.4.3 El shell

El shell es la interfaz primaria entre un usuario y el S. O. Cuando el usuario ingresa en el sistema inicia en el shell.

Constituye la interfaz primaria entre un usuario sentado frente a su terminal y el sistema operativo, a menos que el usuario esté usando una interfaz gráfica (GUI).

Ej. En MS-DOS (c:\>….), en Windows (Escritorio de inicio), en Unix (root>, %, %>).

I.4.4 Llamadas al Sistema

La comunicación entre el sistema operativo y los programas de usuario está definida por el conjunto de llamadas al sistema ofrecidas por el sistema operativo.

Efectuar una llamada al sistema es como efectuar una llamada a un procedimiento especial, sólo que las llamadas al sistema entran en el kernel y las llamadas a procedimientos no.

Las llamadas al sistema son utilizadas por los programadores de aplicación para realizar manipulación detallada del Hardware y los datos.

Unidad I. Conceptos Básicos de Sistemas Operativos Página No.8

Directorio Raíz

Estudiante Profesor

Karla Juan

Docu.docLista.xls

../profesor/Juan/Lista.xls

Page 9: 01.Unidad I.Introducción a los Sistemas Operativos

UNI –Universidad Nacional de Ingeniería Sistemas Operativos y Redes

A fin de aclarar mejor el mecanismo de llamadas al sistema, demos un vistazo a la llamada read. Esta tiene tres parámetro: el primero especifica el archivo, el segundo apunta al buffer y el tercero indica el número de bytes a leer. Al igual que casi todas las llamadas al sistema, se invoca desde programas en C llamando un procedimiento de biblioteca que tiene el mismo nombre que las llamadas al sistema: Ej. (Cuenta=read(file,buffer,nbytes)).

Tipos de llamadas al sistema.

Llamada al sistema para: Administración de Procesos, Memoria, Directorio entre otras.

Unidad I. Conceptos Básicos de Sistemas Operativos Página No.9

Regresar al invocador

Saltar al kernel

Poner código de read en registro

Incrementar apuntador de pila

Invocar read

Meter file a la pila

Meter &buffer a la pila

Meter nbytes a la pila

Despachar Manejador de llamadas al sistema

1

2

3

4

5

6

7 8

9

10

11

Procedimiento de biblioteca read

El programa de usuario invoca a read

Sección critica

Espacio de usuario

Espacio de kernel (S.O.)

Programa de usuario

S. O.

Hardware

Petición Llamada al sistema

C (read)

Hardware