Anda di halaman 1dari 47

CAPITULO 1

1.- DEFINICION Y FUNCIONES DE UN SISTEMA OPERATIVO 1.1.- Que es un sistema operativo 1.1.1.- Mquina desnuda 1.1.2.- Niveles del S.O. 1.1.2.1.- Ncleo 1.1.2.2.- Modos y llamadas al Sistema 1.1.2.3.- Shell 1.1.3.- Funciones del S.O. 1.1.3.1.- El S.O. como gestor de recursos 1.1.3.1.- El S.O. como mquina extendida. 1.1.3.1.- El S:O. como interfaz de usuario. 1.1.4.- Concepto de usuario y grupo de usuarios. 1.2.- Arranque de la computadora 1.2.1.- Arranque de Hardware 1.2.2.- Ubicacin del S.O. 1.2.3.- Arranque07/13/11 S.O. del

u Q

u es

si n
2

e p o a em st
Flix Garca Carballeira (1999)

iv at r

Sistemas operativos

DEFINICIN DE SISTEMA OPERATIVO?


Un programa que acta como intermediario entre el usuario de un computador y el hardware del mismo.

que gestionan de una manera eficiente un sistema de informacin pa

Un sistema operativo es un programa de ordenador que gestiona los recursos de la mquina (CPU, memoria, dispositivos de E/S, discos, red, etc.)
07/13/11

DEFINICIN DE SISTEMA OPERATIVO?

re o firmware, que permiten utilizar el HW del computador a

os dispositivos que forman el ordenador (memoria y perifricos), adm

07/13/11

SISTEMA INFORMTICO
El SO ocupa un lugar dentro del Sistema Informtico Conjunto de HW y SW para el tratamiento automtico de la informacin
SW de aplicaciones y Usuario: Herramientas y libreras Servicios del Sist.
Me Gest mo . ri a.

estructur as HW

interrupc . Gest. Procesos System calls

. st Ge S E/

07/13/11

PARTES DEL SISTEMA INFORMTICO


Usuarios y aplicaciones

Herramientas y libreras
Editores Compiladores Shell: interprete de comandos SW de base
System calls / API

SO
Gestin

HW

CPU MEM E/S

Interfaz con el HW
07/13/11

OBJETIVOS DEL SISTEMA OPERATIVO?


qObjetivos: q Proporcionar al usuario una mquina amigable Gestionar eficientemente el HW del computador Ejecutar programas y facilitar la solucin de los problemas del usuario Hacer un uso conveniente del computador Usar el computador de forma eficiente Proporcionar una mquina virtual extendida qVisiones del SO: Descendente: Mquina extendida Ascendente: Gestin del HW

07/13/11

VISIONES DEL SISTEMA OPERATIVO?


q Descendente: Mquina extendida o virtual presenta una abstraccin del HW subyacente ms sencilla y fcil de usar, ocultando sus peculiaridades presta una variedad de servicios que los programas utilizan mediante instrucciones especiales, i.e., llamadas al sistema. q Ascendente: Administrador o controlador de recursos administra todos los elementos del ordenador reparte ordenada y controladamente los elementos del sistema entre los programas que los solicitan q

07/13/11

FUNCIONES DEL SISTEMA OPERATIVO?


Gestin de los recursos de la computadora. Gestin del Procesador: gestin de procesos Gestin de memoria Gestin de E/S Ejecucin de servicios para programas Ofrece un conjunto de servicios: system calls Proporciona una mquina extendida Interfaz con el usuario Proporciona un interprete de mandatos Espera una orden (texto o evento de ratn) Analiza la orden y si es correcta la ejecuta Concluida la orden vuelve a la espera
07/13/11

GENERACIONES DEL SISTEMA OPERATIVO


1 Generacin: 45-55
Procesamiento interactivo en serie

2 Generacin: 55-65
Sistemas por lotes

3 Generacin: 65-70
Multiprogramacin y multitarea

4 Generacin: 70-
Sist. Distribuidos, Tiempo Real

07/13/11

HISTORIA Y EVOLUCIN
Primera Generacin 1945-1955 Histricamente unidos a la arquitectura de ordenadores Vlvulas y conexiones vNo existen los S. O. vInteraccin directa grupo de personas diseaba, construa, programaba, operaba y mantena la mquina vTarjetas perforadas, instruccin a instruccin, lenguaje mquina vDesarrollo lento de programas vDesaprovechamiento de la mquina vCdigo para controlar la E/S

07/13/11

ENIAC

07/13/11

HISTORIA Y EVOLUCIN
Segunda Generacin 1955-1965 Transistores y sistemas de procesamiento por lotes 1os Sistemas Operativos transferir el control de un trabajo al sgte. Libreras de funciones de E/S programa no necesita controlar E/S Monitor Residente interpreta las tarjetas de control Procesamiento por lotes agrupando trabajos a ejecutar. Monitor Residente: Intrprete de tarjetas Cargador de programas Controlador de E/S

07/13/11

T4

T3

T2

T1

ME M

$END Datos de entrada al programa $RUN $LOAD Programa en Fortran $FTN $JOB Asenjo 1/2/61 1hora max

Monitor Cargador Lector de trabajos Intrprete de tarjetas rea de programas

07/13/11

Operacin fuera de lnea


para cmputos y otros para E/S

ordenadores

07/13/11

Primeros intentos de solapar E/S con CPU: Teniendo un nico ordenador hay dos posibilidades, usar almacenamiento temporal con buffers o bien Spoolers.

Buffers

Almacenamiento intermedio entre dispositivos de E/S y CPU, desde donde lee/escribe la CPU Cuando la CPU lee los datos del buffer pasa a trabajar con ellos A su vez, el dispositivo de E/S inicia la siguiente lectura Dispositivo y CPU trabajando a la vez Ideal si velocidad de CPU es E/S

07/13/11

SPOOLERS (Simultaneous Peripheral Operation On-Line) qFuncionamiento en el caso de entrada La CPU solicita al lector la siguiente tarjeta y contina su trabajo Cuando el lector tiene los datos, interrumpe a la CPU, que copia los datos al disco duro y solicita la siguiente tarjeta Cuando un proceso solicita los datos de la tarjeta, el S.O. los toma del disco y se los da al proceso. qFuncionamiento en caso de salida La CPU escribe en disco la salida de un proceso Al terminar, la CPU va mandando a la impresora los datos qSe necesitan discos que permiten acceso aleatorio qLa CPU y los dispositivos de E/S estn ocupados
07/13/11

HISTORIA Y EVOLUCIN
Tercera Generacin 1965-1980 Circuitos integrados y multiprogramacin oMultiprogramacin Varios trabajos en memoria: cuando uno espera para E/S, otro se puede ejecutar Necesidad de planificacin y proteccin oTiempo compartido (multitarea) Variante del anterior Cambio rpido entre tareas: uso interactivo Ms complejo oEjemplos de S.O.: OS/360, MULTICS, UNIX, etc.

07/13/11

IBM/360 modelo 30

07/13/11

IBM/360

07/13/11

HISTORIA Y EVOLUCIN
Cuarta Generacin 1980-actualidad
Ordenadores Personales vCircuitos LSI y VLSI vMS-DOS/Windows y Linux (PCs) vs. UNIX (Workstations) vSistemas Operativos de Red Usuario consciente de la existencia de varios ordenadores Cada mquina tiene su propio S.O. Mquinas independientes, interactan en momentos concretos vSistemas Operativos Distribuidos Varios ordenadores Imagen nica del sistema Transparencia de localizacin Comparticin de recursos, tolerancia a fallos, paralelismo, etc.
07/13/11

LSI (Integracin a gran escala)

Consista de sistemas con al menos mil compuertas lgicas.

VLSI (Integracin a muy gran escala)

Varias decenas de miles de compuertas en un solo chip. Hoy en da, los microprocesadores tienen varios millones de compuertas en el mismo chip. 2006 comercializaban microprocesadores con tecnologa de hasta 65 nm. 2010 comercializan chipsets con tecnologa de 32 nm.
07/13/11

VLSI

CAPTULO
4. Conceptos claves de Sistemas Operativos 4.1. Segn el usuario de rdenes/aplicaciones 4.1.1 Usuario 4.1.2 Sesin 4.1.3 Programa 4.1.4 Proceso 4.1.5 Fichero 4.1.6 Programas del sistema 4.1.7 Interfaz de usuario 4.2. Segn el usuario programador 4.2.1 Llamadas al sistema 4.2.2 Estndar POSIX 4.2.3 API Win32 de Windows 4.3. Segn el diseador/implementador 4.3.1 Subsistema de gestin de procesos 4.3.2 Subsistema de gestin de memoria 4.3.3 Subsistema de gestin de E/S 4.3.4 Subsistema de gestin de ficheros 4.3.5 Subsistema de gestin de proteccin

07/13/11

CONCEPTOS CLAVES DE S.O.


Segn el usuario de rdenes/aplicaciones
Usuario Sesin Programa Proceso Fichero Persona que trabaja en el sistema Periodo de tiempo durante el cual un usuario Cdigo ejecutable. Concepto esttico Programa en ejecucin. Concepto dinmico Unidad lgica de almacenamiento Ofrecen un entorno ms cmodo Permite dar rdenes al sistema para

interacta con el sistema

Programas del sistema Interfaz de usuario

para el desarrollo y ejecucin de programas realizar diversas operaciones


07/13/11

CONCEPTO DE USUARIO Y GRUPO DE USUARIOS


Usuario: persona autorizada para utilizar un sistema informtico que se autentica mediante su nombre de cuenta y su contrasea.

IO AR SU U OR ER O AD P SU TR IS IN DM A

uid + perfil (derechos)

uid + perfil uid + perfil uid + perfil

07/13/11

PROGRAMAS DEL SISTEMA


Suelen venir con el S.O. y dependen de l Normalmente realizan funciones bsicas: Manipulacin de ficheros (crear, eliminar, ver, imprimir, etc.) Informacin de estado (procesos, memoria, disco, etc.) Modificacin de ficheros (crear y modificar su contenido) Apoyo a lenguajes de programacin (compiladores, etc.) Comunicaciones (correo, ftp, etc.) Aplicaciones (editores de texto, de grficos, etc.) El intrprete de rdenes o shell es un programa del sistema El S.O. no diferencia entre los programas del usuario y los del sistema

07/13/11

INTERFAZ DE USUARIO
Interfaces alfanumricas
Su modo de trabajo est basado en lneas de texto El usuario escribe la orden a ejecutar y sus parmetros El intrprete de rdenes es el mdulo encargado de la interfaz lee la orden, y ejecuta la accin especificada Existen dos tipos de intrpretes de rdenes: Interno: un nico programa contiene el cdigo para ejecutar todas las rdenes Externo: las rdenes no forman parte del intrprete, son programas externos En los sistemas reales puede existir una mezcla de las dos estrategias

07/13/11

INTERFACES ALFANUMERICAS
Interfaz de rdenes interno Es ms eficiente, pero puede llegar a ser muy grande, y posibles modificaciones o ampliaciones exigen cambiar el cdigo del intrprete y recompilarlo. Su funcionamiento es: Lee la orden Determina qu orden es, y salta a la parte del cdigo correspondiente Si no es una orden interna, ejecutar la aplicacin en un nuevo proceso Espera a que finalice la ejecucin command.com de MS-DOS es un intrprete de rdenes interno
07/13/11

INTERFACES ALFANUMERICAS
Interfaz de rdenes externo
La interfaz de usuario est compuesta por el intrprete y cada uno de los programas del sistema Su funcionamiento es: Lee la orden Crea un nuevo proceso que ejecutar esa orden Espera a que termine la ejecucin Es menos eficiente, y las modificaciones o inclusiones de nuevas rdenes slo implican aadir nuevos programas Los shells de UNIX son externos, aunque algunas rdenes estn implementadas como internas (p. ej. cd, echo, expr, test)

07/13/11

INTERFAZ DE USUARIO
Interfaces grficas, GUI (Graphical User Interface)
El objetivo es presentar a los usuarios una visin sencilla e intuitiva del sistema, ocultando su complejidad Estn basadas en ventanas que permiten trabajar simultneamente con varias actividades Se utilizan iconos y mens para representar los recursos y poder realizar operaciones sobre los mismos. El ratn permite interactuar con estos elementos Para usuarios avanzados y para agilizar el trabajo proporcionan la posibilidad de realizar las mismas operaciones mediante una combinacin de teclas

07/13/11

INTERFACES GRFICAS
La estructura interna est formada por un conjunto de programas, los cuales trabajan conjuntamente para realizar las peticiones del usuario, usando los servicios del sistema Gestor de ventanas para mantener el estado de las mismas y permitir su manipulacin Administrador de programas para arrancar aplicaciones Gestor de archivos para manipular ficheros y directorios Herramientas de configuracin de la propia interfaz y del entorno Ideal si tambin incluye alguna otra interfaz programtica a nivel de scripts (importante separar la funcionalidad de la presentacin)

07/13/11

MODOS Y LLAMADAS DE SISTEMA

Modo Usuario

Programa 2 del usuario Programa 1 del usuario


1 4

Modo Ncleo

Tabla de despacho

Procedimiento de servicio

07/13/11

Segn el usuario programador


Llamadas al sistema Definen Interfaz entre el S.O. y los programas de usuario Dependen mucho de la mquina y en ocasiones estn en cdigo ensamblador Lenguajes de alto nivel tienen libreras de procedimientos que permiten hacer llamadas al sistema Un proceso de usuario necesita un servicio del S.O. llamada al sistema control al S.O. Entonces el S.O. realiza las siguientes tareas:
determina qu quiere el proceso invocador, examinando los parmetros ejecutar la llamada al sistema devuelve el control a la instruccin que est despus de la llamada al sistema

Llamada a un procedimiento especial que se ejecuta en Modo ncleo

07/13/11

INTERFAZ DEL PROGRAMADOR


La principal funcin de la interfaz de usuario del S.O. es permitir al usuario acceder y manipular los objetos y recursos del sistema. Es la que recupera los servicios y llamadas al sistema que los usuarios pueden usar desde sus programas. Recupera la visin que tiene el usuario como mquina extendida.

INTERFACES

POSIX

WIN32

POSIX

POSIX [ IEEE ]
Portable Operating System Interface
Estndar industrial de interfaz de sistemas operativos portables de IEEE basado en Unix.
Problemas Diferencias entre la implementaciones de Unix Transportacin aplicaciones entre distintas plataformas

Estndar Internacional

Portabilidad aplicaciones

IEEE: Institute of Electrical and Electronics Engineers

POSIX
Desarrollado: * IEEE con referencia 1003. * ISO/IEC 9945.

Familia de estndares Ampliamente utilizado Disponible versiones : Unix y Linux Windows Posix

Subsistema aplicaciones

Estndares Base Posix


1003.1 1003.1a 1003.1b 1003.1c 1003.1d 1003.1e 1003.2 1003.2b Servicios bsicos del S.O. Extensiones a los servicios bsicos Extensiones de tiempo real Extensiones de procesos ligeros Extensiones adicionales de tiempo real Seguridad Shell y utilidades Utilidades adicionales

CARACTERISTICAS
Trmino sugerido por Richard Stallman Posix especifica las interfaces de usuario y software al S.O. Nombres de funciones en POSIX son cortos y con todas sus letras en minsculas. Ej: Fork, para crear un nuevo proceso Read, para leer datos de un archivo Close, para cerrar un archivo. Las funciones devuelven 0 si se ejecutaron con xito -1 en caso de error. La mayora de los recursos gestionados por el sistema operativo se referencian mediante descriptores. (nmero entero mayor o igual que cero)

WIN32

API Win32 de Windows (Application Programming


Interface)

Programa Windows ) controlado por eventos Programa Principal ) espera evento ) invoca un procedimiento para procesarlo, actualizar la ventana, y el estado interno del programa Eventos ) pulsacin de una tecla, movimiento o clic del ratn, insercin de un disquete, etc.
MSG msg; while (GetMessage(&msg, NULL, 0, 0)) { 07/13/11 TranslateMessage(&msg);

(desde Windows 95) Al desacoplar la interfaz de las llamadas al sistema, Microsoft se guarda la posibilidad de modificar las llamadas al sistema, sin inutilizar los programas existentes La API la forman millares de funciones, algunas provocan llamadas al sistema, otras no (se ejecutan en modo usuario) Difcil saber qu es una llamada al sistema o simplemente una llamada a un procedimiento de librera en el espacio de usuario Hablaremos de la API Win32, no de llamadas al sistema propiamente dichas
07/13/11

QUE ES WIN32?.
MICROSOFT define los servicios ofrecidos por los sistemas Windows 95/98, Windows NT y Windows 2000. El API de Win32 es totalmente diferente al estndar POSIX.

CARACTERSTICAS
Todos los recursos gestionados por el Sistema Operativo se tratan como objetos, que se referencian como manejadores. Estos manejadores son similares a los descriptores de archivos de Posix. Aunque sigue los principios de la programacin orientada a objetos, Win32 no es orientada a objetos. Los nombres de las funciones en Win32 son largos y descriptivos. Ej: GetFileAttributes: Para obtener los atributos de un archivo. CreateNamedPipe: nombre. Para crear una tubera con

CARACTERSTICAS
Win32 tiene una serie de tipos de datos predefinidos. BOOL: Objeto de 32 bits que almacena un valor lgico. DWORD: Entero si signo de 32 bits TCHAR: Tipo carcter de 2 dos bytes LPSTR: Puntero a una cadena de caracteres. Los nombres de las variables, al menos en los prototipos de las funciones, tambin siguen una serie de convenciones. Ej: lpszFilename Las funciones devuelven, true si la llamada se ejecuto con xito o false en caso contrario.

DIFERENCIAS ENTRE Y WIN32

POSIX

POSIX

WIN32

Trabaja con cualquier sistema operativo Los nombres de las funciones son cortos Los recursos gestionados se referencian mediante descriptores

Trabaja solo con Windows Los nombres de las funciones son largos Los recursos gestionados se referencian mediante manejadores

POSIX VS. WIN32

Anda mungkin juga menyukai