Post on 17-Oct-2015
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
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/