so1 - 01 - introducción a los sistemas operativos.pdf

Upload: hgcu

Post on 17-Oct-2015

157 views

Category:

Documents


0 download

TRANSCRIPT

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 1

    Introduccin a los Sistemas Operativos

    Sistemas Operativos I

    Copyright 2007 por TECSUP

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 2

    2

    Objetivos y Contenido

    Conocer la funcin de los sistemas operativos.

    Conocer los componentes de un sistema operativo.

    Describir los tipos de sistemas operativos e identificar a qu tipo pertenecen los sistemas operativos ms conocidos.

    Contenido:

    Definicin de un Sistema Operativo

    Componentes de un sistema de cmputo

    Componentes de un sistema operativo

    Ncleo

    Interfaz

    Sistema de Archivos

    Clasificacin de los sistemas operativos

    Sistemas operativos conocidos

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 3

    3

    Qu es un Sistema Operativo?

    Un Sistema Operativo es un conjunto de programas que actan como intermediarios entre el usuario de la computadora y el hardware de la misma.

    HardwareUsuario

    Rutina deVideo

    Sistema Operativo

    BIOSBIOS

    Rutina deTeclado

    Rutina de Mouse

    Los objetivos de un sistema operativo son:

    Gestionar el acceso a los recursos del sistema entre los programas y usuarios que compiten por acceder a ellos.

    Presentar al usuario una interfaz, ocultando la complejidad, y dando un tratamiento homogneo a los diferentes objetos de bajo nivel (archivos, procesos, dispositivos, etc.).

    Sistema operativo como Gestor de Recursos:

    Asigna recursos a los programas en ejecucin, estos recursos pueden ser fsicos (procesador, memoria RAM, puertos de E/S, perifricos) o lgicos (archivos, puertos de comunicacin, etc.)

    Proteccin, debe asegurar que la ejecucin de un programa no interfiera con otro y que este no pueda tomar recursos reservados por otro programa.

    Contabilidad, es decir debe medir los recursos que son utilizados durante la ejecucin de programas.

    Por lo tanto el Sistema Operativo (SO) es la base sobre la cual se ejecutarn otros programas.

    Sistema operativo como Interfaz de Usuario:

    El sistema operativo, adems debe permitir que los usuarios dialoguen con el sistema de cmputo de forma interactiva. Esto se hace mediante una interfaz que debe cumplir con lo siguiente:

    Esperar una orden del usuario.

    Analizar la orden, y en caso de ser vlida ejecutarla. Para ello, emplea los servicios del sistema operativo.

    Concluida la orden, volver al modo de espera.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 4

    4

    Componentes de un Sistema de Cmputo

    Programas de aplicacin

    Programas de sistema

    Hardware

    Usuarios

    Hardware

    Programas del Sistema

    Programas de Aplicacin

    Usuarios

    Programas de aplicacin: Los programas utilizados por el usuario: sistema de informacin, bases de datos, aplicaciones ofimticas, compiladores, etc.

    Programas de sistema: Son los programas que controlan y coordinan el uso del hardware entre los varios programas de aplicacin para los diferentes usuarios.

    Hardware: Conformado por los dispositivos fsicos de la computadora (procesadores, dispositivos de E/S, memoria, etc.) ypor la microprogramacin ubicada en las memorias de solo lectura (ROM) de algunos dispositivos.

    Usuarios: Los que utilizan los sistemas de cmputos pueden ser personas, mquinas u otras computadoras.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 5

    5

    Componentes de un Sistema Operativo

    El Ncleo (Kernel)

    La Interfaz de Usuario (Shell)

    El Sistema de Archivos (File System)

    Sistema Operativo

    KernelShell

    El Sistema Operativo est formado por un conjunto de componentes especializados en determinadas funciones. Cada sistema operativo estructura estos componentes de forma particular.

    Sus principales componentes son:

    El Ncleo o Kernel

    La Interfaz de Usuario o Shell

    El Sistemas de Archivos o File System

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 6

    6

    Ncleo (Kernel)

    Se encarga de controlar el flujo de datos entre la memoria y los dispositivos de hardware.

    Est formado por: Programas del sistema

    Controladores (drivers)

    Programas del sistema

    Driver Driver

    Proporcionado por el fabricante del sistema operativo o del hardware

    El Kernel o ncleo es la parte del sistema operativo que estencargada de controlar el flujo de datos entre la memoria y las unidades de entrada/salida (E/S) tales como impresoras, discos, mouse, teclado. En otras palabras, es la parte del sistema operativo que interacta directamente con el hardware.

    Como hay muchos programas y el acceso al hardware es limitado, el ncleo tambin se encarga de decidir qu programa podrhacer uso de un dispositivo de hardware y durante cunto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los ncleos suelen implementar una serie de abstracciones de hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso para el programador.

    Est formado por:

    Programas del sistema

    Controladores o drivers que permiten acceder a un determinado dispositivo.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 7

    7

    Interfaz de Usuario (Shell)

    Se encarga de interactuar con el usuario, recibe las instrucciones del usuario, las procesa y si tiene algn resultado lo muestra.

    C:> dir /s

    Los sistemas operativos, a travs de las interfaces de usuario, suelen incorporar caractersticas tales como control de procesos, redireccin de entrada/salida, gestin de archivos, proteccin, comunicaciones y un lenguaje de rdenes para escribir programas por lotes (hoy conocidos como secuencias de comandos o scripts)

    Antiguamente esta interfaz del usuario era nicamente en modo texto, por lo cual era difcil interactuar con la computadora debido a que se tena que memorizar un gran nmero de comandos. A esa forma de interfaz se le conoce con el nombre de Intrprete de Comandos. Sin embargo, hoy en da utilizamos interfaces grficas las cuales permiten al usuario de una manera ms sencilla poder utilizar al mximo los recursos de la computadora.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 8

    8

    Shells conocidos en Unix

    Bourne Shell (/bin/sh)

    C Shell (/bin/csh)

    Korn Shell (/bin/ksh)

    Las interfaces de usuario (shells) ms conocidas en Unix son:

    Bourne Shell (/bin/sh). Desarrollada en 1977, es la interfaz predeterminada en la mayora de sistemas Unix.

    C Shell (/bin/csh). Incluy algunas mejoras sobre el BourneShell, pero hoy en da no es muy usado. En su lugar, suele usarse el Korn Shell.

    Korn Shell (/bin/ksh). Desarrollado por David Korn en los laboratorios de AT&T Bell en 1980, es compatible con BourneShell e incluye varias caractersticas de C Shell. Fue liberado en 2000 y actualmente es parte de la comunidad de software libre.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 9

    9

    Shells conocidos en Linux

    Bourne Advanced Shell (bash)

    GNOME

    KDE

    Las interfaces de usuario (shells) ms conocidas en Unix son:

    Bourne Advanced Shell (bash). Tambin conocido como Bourne-again shell, fue creado en 1987 y es la interfaz de comandos predeterminada en la mayora de distribuciones Linux.

    GNOME. Es un interfaz completamente grfica y libre que se instala de manera predeterminada en algunas distribuciones de Linux. Su desarrollo se inici en 1997.

    KDE. Es la competencia de GNOME y ofrece caractersticas similares. Su desarrollo se inici en 1996.

    Para usuarios finales, tanto GNOME como KDE son una solucin equivalente a Windows.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 10

    10

    Shells conocidos en MS-DOS

    Command.com

    COMMAND.COM fue la interfaz predeterminada en los sistemas DOS de Microsoft y otros fabricantes. Adicionalmente, se utilizcomo intrprete de comandos en los sistemas Windows (95/98/98 SE/Me).

    Ofreca comandos internos y estructuras de control que permitan el desarrollo de programas por lotes (secuencias de comandos), aunque mucho ms sencillos y menos potentes que los que se pueden desarrollar en Unix y Linux.

    En versiones posteriores de Windows (2000 en adelante) se utilizel CMD como intrprete de comandos y recientemente Microsoft ha desarrollado el Windows PowerShell disponible para Windows XP SP2 y Windows Server 2003.

    En la pgina http://en.wikipedia.org/wiki/Comparison_of_computer_shells se encuentra una tabla comparativa de caractersticas entre distintas interfaces de usuario, incluida COMMAND.COM.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 11

    11

    Shells conocidos en Windows 9x/NT/2000/XP/2003

    Explorer.exe

    Windows Explorer es la interfaz grfica provista para los sistemas operativos Windows. Apareci con Windows 95 y ha sufrido modificaciones importantes hasta su ltimo desarrollo que viene integrado en Windows Vista.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 12

    12

    Sistema de Archivos (File System)

    Indica la forma cmo estarn organizados los archivos en el disco as como la informacin necesaria de cada archivo: Nombre del archivo

    Tamao

    Fecha de creacin

    Fecha de modificacin

    Atributos de seguridad

    Etc.DOCS

    Ventas01

    Mail

    HDHD

    En un sistema de cmputo es evidente que existe la necesidad por parte de los usuarios y aplicaciones de almacenar datos en algn medio, a veces por periodos largos y a veces por instantes. Cada aplicacin y cada usuario debe tener ciertos derechos sobre sus datos, como poder crearlos y borrarlos, o cambiarlos de lugar; as como tener privacidad respecto a otros usuarios o aplicaciones. Para cubrir esta necesidad, el sistema operativo hace uso de un Sistema de Archivos.

    Un sistema de archivos (filesystem) es una estructura de datos con algn tipo de organizacin que nos permite crear, modificar, eliminar y acceder a archivos en diferentes formatos. El sistemade archivos guarda informacin necesaria para poder ubicar los archivos y directorios creados.

    Cada sistema operativo debe tener soporte para determinados sistemas de archivos, y depender de las caractersticas de ste para darle a los usuarios seguridad, confiabilidad y robustez en el almacenamiento de datos.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 13

    13

    Sistemas de Archivos comunes

    FAT File Allocation Table.

    NTFS New Tecnology File System.

    VFAT Virtual File Allocation Table.

    CDFS Compact Disc File System

    Otros

    FAT: File Allocation Table, desarrollado por Microsoft para MS-DOS, fue el sistema de archivos principal en las ediciones no empresariales de Windows (desde Windows 95 hasta Windows Me). Presentaban las siguientes desventajas:

    Cuando se borran y se escriben nuevos archivos tienden a dejar fragmentos dispersos por todo el soporte. Con el tiempo, esto hace que el proceso de lectura o escritura sea cada vez ms lento.

    No provee tolerancia a fallas.

    Las versiones de FAT son:

    FAT 12

    FAT 16

    FAT 32

    NTFS: New Tecnology File System, diseado tambin por Microsoft, especficamente para Windows NT, con el objetivo de crear un sistema de archivos eficiente, robusto y con seguridad incorporada desde su base. Tambin admite compresin nativa de archivos, cifrado de datos y cuotas de disco. Es el sistema de archivos recomendado para las versiones actuales de Windows.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 14

    14

    Clasificacin de los Sistemas Operativos

    Por Lotes

    Monousuarios o Multiusuarios

    Monotarea o Multitarea

    Monoprocesador o Multiprocesador

    Sistemas operativos de Red

    Distribuidos

    De Tiempo Real

    Incrustados

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 15

    15

    Por Lotes

    JOB 1JOB 1JOB 4

    JOB 3 JOB 2 JOB 1

    Computadora

    Cola de espera

    Los sistemas operativos por Lotes, procesan una gran cantidad de trabajos con poca o ninguna interaccin entre los usuarios y los programas en ejecucin.

    El trabajo se realizaba de la siguiente manera:

    El sistema operativo estaba almacenado en memoria.

    Los trabajos eran programados en tarjetas perforadas las cuales indicaban quhacer al sistema operativo.

    Se cargaba un nico trabajo en memoria desde el lector de tarjetas.

    Se ejecutaba el trabajo y se generaba su salida impresa o en una cinta.

    Se cargaba el siguiente trabajo.

    Caractersticas:

    El principal problema de estos sistemas se debe a las largas esperas entre lotes de trabajos.

    Permiten poca o ninguna interaccin usuario/programa durante la ejecucin.

    No conveniente para el desarrollo de programas por su bajo tiempo de retorno y depuracin fuera de lnea.

    Conveniente para programas de largos tiempos de ejecucin (ejemplo: anlisis estadsticos, nminas de personal, etc.).

    Planificacin del procesador sencilla, tpicamente procesados en orden de llegada.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 16

    16

    Monousuario / Multiusuario

    Monousuario: Los sistemas monousuario son aquellos en los cuales solamente un usuario puede trabajar con el sistema operativo a la vez. Los ms conocidos son:

    DOS

    Windows 3.1

    Multiusuario: Los sistemas multiusuario son aquellos en los cuales varios usuarios pueden trabajar de manera simultnea con el sistema operativo. La mayora de sistemas operativos actuales son multiusuario.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 17

    17

    Monotarea / Multitarea

    Edit.exe

    Edit.exe

    Clock.exe

    Notepad.exe

    Winamp.exe

    Debemos asociar la palabra Tarea al concepto de Proceso.

    Proceso = Tarea.

    Monotarea: Los sistemas monotarea son aquellos que slo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.

    Multitarea: Los sistemas multitarea son aquellos que tienen la capacidad de ejecutar dos o ms procesos simultneamente. Por ejemplo, el usuario puede estar editando el cdigo fuente de un programa durante su depuracin mientras compila otro programa, a la vez que est recibiendo correo electrnico en un proceso en segundo plano. Es comn encontrar en ellos interfaces grficas orientadas al uso de mens y el ratn, lo cual permite un rpido intercambio entre las tareas para el usuario, mejorando su productividad.

    Existen dos tipos de multitarea:

    Cooperativa

    Real

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 18

    18

    Tipos de Multitarea

    A B A B

    t (mseg)

    A

    t (mseg)

    B A B

    Cooperativa Real

    Pausa realizada por el programa

    Pausa realizada por sistema operativo

    Cooperativa: Aprovecha los momentos ociosos del procesador para ejecutar otras tareas. La ejecucin de otra tarea se darcuando la tarea actual le ceda su tiempo o cuando el procesador determine que hay una inactividad en la tarea actual para poder ejecutar otra tarea.

    Real: Tambin llamada No cooperativa o con interrupcin, debido a que el procesador divide el tiempo de trabajo en partes iguales.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 19

    19

    Monoprocesador / Multiprocesador

    Monoprocesador: Son los sistemas operativos que solamente pueden trabajar con un procesador.

    Multiprocesador: Son los sistemas operativos que tienen la capacidad de multiprocesamiento.

    Qu es Multiprocesamiento? Es la capacidad de un sistema operativo de poder trabajar con ms de un procesador.

    Puede ser:

    Simtrico (SMP)

    Asimtrico (ASMP)

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 20

    20

    Tipos de Multiprocesamiento

    SistemaOperativo

    APP1

    SistemaOperativo

    APP2

    SistemaOperativo

    APP3

    SistemaOperativo

    APP1

    APP2

    Simtrico

    Asimtrico

    Multiprocesamiento Simtrico (SMP)

    Todos los procesadores pueden ejecutar el cdigo del sistema operativo.

    Tienen un buen rendimiento, pero son difciles de implementar.

    Multiprocesamiento Asimtrico (ASMP)

    Solo un procesador ejecuta el cdigo del sistema operativo, este se denomina procesador Maestro (Master).

    El resto de procesadores se conocen como Esclavos (Slave), los cuales ejecutan los programas de los usuarios asignados por el procesador Maestro.

    Son fciles de implementar y son utilizados en grandes computadoras.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 21

    21

    Sistemas Operativos de Red

    Medio de Comunicacin

    Los sistemas de red son aquellos que mantienen a dos o ms computadoras unidas a travs de algn medio de comunicacin, con el objetivo primordial de poder compartir recursos.

    Cada equipo ejecuta su propio sistema operativo local, pero requieren de:

    Una interfaz de red y su controlador respectivo.

    Un software para conexin y acceso a archivos remotos, el cual es conocido con el nombre de Cliente de Red.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 22

    22

    Distribuido

    Conjunto de servidores con procesamiento distribuido

    Estos sistemas operativos distribuyen el cmputo entre varios procesadores geogrficamente dispersos.

    Caractersticas

    Los procesadores pueden ser homogneos o heterogneos.

    Cada procesador tiene su propia memoria local y el procesador secomunica con los dems procesadores mediante lneas de comunicacin, buses de alta velocidad y lneas telefnicas, ofreciendo adems confiabilidad debido a que si un componente falla existe otro que puede reemplazarlo.

    Aparece ante los usuarios como un sistema operativo de un solo procesador, an cuando de soporte a varios procesadores.

    Los usuarios no son conscientes del lugar donde se ejecutan sus programas o dnde se encuentran sus archivos, ya que lo debe administrar el sistema operativo automticamente. Esto facilita el trabajo de los usuarios.

    Deben permitir que un programa se ejecute mediante varios procesadores a la vez, maximizando el paralelismo, ofreciendo deesta manera una mayor velocidad de cmputo.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 23

    23

    De Tiempo Real

    Computadora

    Calefactor

    Sensor de temperatura

    Termo

    r(t)

    y(t)

    u(t)

    Los sistemas de tiempo real son aquellos en los cuales no tiene importancia el usuario, sino los procesos. Se utilizan en entornos donde son procesados un gran nmero de sucesos o eventos.

    Son normalmente construidos para aplicaciones muy especficas como control de trfico areo, bolsas de valores, control de refineras, control de laminadores, etc.

    Caractersticas

    El sistema operativo debe garantizar la respuesta a sucesos fsicos en intervalos de tiempo fijos.

    Se dan en entornos en donde deben ser aceptados y procesados gran cantidad de sucesos, la mayora externos al sistema computacional, en breve tiempo o dentro de ciertos plazos.

    Procesa rfagas de miles de interrupciones por segundo sin perder un solo suceso.

    Estos sistemas operativos al ser parte de un dispositivo se les conoce con el nombre de Sistemas Integrados (Embedded).

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 24

    24

    Incrustados

    Un sistema incrustado funciona en un dispositivo que incluye un sistema computacional especializado que es parte de un sistema ms grande o de una mquina.

    Los sistemas incrustados (Embedded Systems) ms simples son capaces de realizar una simple funcin o un conjunto de funciones para llegar a un objetivo predeterminado.

    Estos sistemas o dispositivos pueden ser diseados para: telfonos celulares, relojes, calculadoras, PDA (Personal Digital Assistant), etc.

    Caractersticas

    Generalmente se encuentra almacenado en una tarjeta de microprocesador con los programas almacenados en ROM.

    Casi todas las aplicaciones que tienen una interfaz digital (microondas, TV, carros, etc.) usan un sistema incrustado.

    Ejecutan programas dedicados, que algunas veces pueden ser modificados por el usuario.

    El ingreso de datos se hace por un teclado (o un dispositivo de entrada) ms sencillo que el de una computadora personal.

    Muchos de estos sistemas operativos son de Tiempo Real.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 25

    25

    Sistemas operativos conocidos

    Basados en DOS

    Windows como estacin de trabajo

    Windows como servidor

    DOS (Disk Operating System)

    MS-DOS desde la versin 1.x hasta la versin 6.x

    MS-DOS 7.x parte del Windows 95 y 98

    MS-DOS 8 parte del Windows ME

    PC-DOS desde la versin 1.x hasta la versin 7.x desarrollado por IBM

    DR-DOS y OpenDOS derivados de CP/M se desarrollan hasta la actualidad

    FreeDOS es un sistema de cdigo abierto compatible con DOS

    Windows como estacin de trabajo:

    Windows 1.0 y Windows 2.0 son de 16 bits

    Windows 3.0, 3.1 y 3.11 son hbridos de 16/32 bits. Windows 3.11 fue el primero en soportar redes

    Windows 95, 98, 98SE, NT 4 Workstation, ME, XP y Vista son de 32 bits

    Windows XP y Vista tienen ediciones de 64 bits

    Windows como servidor:

    Windows NT 3.1, NT 3.51,NT 4 Server, 2000 Server y Server 2003 son de 32 bits

    Windows Server 2003 tiene ediciones de 64 bits

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 26

    26

    Sistemas operativos conocidos

    Unix

    Linux

    Para dispositivos Mviles

    Otros

    Unix:

    SCO Unix (Unixware) Santa Cruz Operation

    Solaris Sun Microsystems

    HP-UX Hewlett Packard

    IRIX Silicon Graphics

    FreeBSD Unix libre

    Linux:

    Redhat y Fedora

    Debian

    Mandrake

    SuSE Linux

    Muchos otros

    Para dispositivos mviles:

    Windows Mobile

    Windows XP Tablet Edition

    Palm OS

    Pocket Linux

    Symbian

    Otros

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 27

    27

    Preguntas

    1. Qu es un sistema operativo?

    2. Cules son los componentes de un sistema operativo?

    3. Cul es el shell de los sistemas Windows?

    4. Cules son los tipos de multitarea?

    Respuestas

    1.

    2.

    3.

    4.

  • Sistemas Operativos I

    Introduccin a los Sistemas Operativos 28

    28

    Sitios de Inters

    Sobre sistemas operativos: http://es.wikipedia.org/wiki/Sistemas_operativos

    http://en.wikipedia.org/wiki/Operating_system

    Sobre Windows Mobile para Pocket: http://www.microsoft.com/windowsmobile/help/pocketpc/default.mspx

    Linux para Pocket: http://handhelds.org/familiar/