Академический Документы
Профессиональный Документы
Культура Документы
HUANCAYO PERÚ
ARQUITECTURA DEL COMPUTADOR Y SISTEMAS OPERATIVOS II
“SISTEMAS OPERATIVOS”
CONTENIDO
1. ARRANQUE DE LA COMPUTADORA Y DEL SISTEMA OPERATIVO
2. COMPONENTES Y ESTRUCTURA DEL SISTEMA OPERATIVO
3. GESTIÓN DE PROCESOS
4. GESTIÓN DE MEMORIA
5. GESTIÓN DE E/S
6. GESTIÓN DE ARCHIVOS Y DIRECTORIOS
7. COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS
8. SEGURIDAD Y PROTECCIÓN
9. ACTIVACIÓN DEL SISTEMA OPERATIVO Y LLAMADA AL SISTEMA
10. INTERFAZ DE USUARIO DEL SISTEMA OPERATIVO E INTERFAZ DEL
PROGRAMADOR
11. HISTORIA Y EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS
SAFORAS CONTRERAS DANNY H.
Resúmen del libro Sistemas Operativos – Carretero
Capítulo 2: Una visión aplicada
2007
SISTEMAS OPERATIVOS
MAQUINA DESNUDA: Computadora carente de un sistema operativo.
SISTEMA OPERATIVO: Un sistema operativo es un programa destinado a permitir
la comunicación del usuario con un computador y gestionar sus recursos de una forma
eficaz. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware
de la máquina desde los niveles más básicos.
FUNCIÓNES BÁSICAS:
a. Gestión de recursos de la computadora.
>> Administra el hardware de manera eficiente.
b. Ejecución de servicios para los programas.
>> Proporcionar comodidad en el uso de un computador.
c. Ejecución de los mandatos de los usuarios.
>> Brindar una interfaz al usuario, ejecutando instrucciones (comandos).
1. ARRANQUE DE LA COMPUTADORA Y DEL SISTEMA OPERATIVO
1.1 ARRANQUE DE LA COMPUTADORA
FASE DE ARRANQUE HARDWARE
Se basa en un programa permanente grabado en una memoria ROM.
En esta memoria ROM se encuentra a un programa de arranque.
1. Hace una comprobación del sistema,
Detecta sus características:
>>Cantidad de memoria principal disponible.
>>Los periféricos instalados.
2. Entra en la fase de lectura y almacenamiento en memoria
3. Finalmente da control a este programa.
FASE ARRANQUE DEL SISTEMA OPERATIVO.
El sistema operativo se encuentra almacenado en una unidad de disco.
Existe un sector de boot que carga al sistema operativo MBR
Este programa está almacenado en una zona predefinida del disco >>
primeros sectores de disco duro.
Se carga en memoria principal aquella parte del sistema operativo que ha
de estar siempre memoria. = SISTEMA OPERATIVO RESIDENTE.
Se crea un proceso de inicio o login por cada terminal definido en el
sistema.
El usuario se loguea e ingresa al sistema operativo.
El proceso shell primero ejecuta uno o varios archivos de mandatos:
«autoexec.bat» en MSDOS
«.login» y «.cshrc» en UNIX. A
2. COMPONENTES Y ESTRUCTURA DEL SISTEMA OPERATIVO
2.1 COMPONENTES DE UN SISTEMA OPERATIVO
NUCLEO
• Manipulación de interrupciones.
• Creación y destrucción de procesos.
• Cambio de estados de procesos.
• Despacho.
• Suspensión y reanudación de procesos.
• Sincronización de procesos.
• Comunicación entre procesos.
• Manipulación de bloques de control de proceso.
• Soporte de las actividades de Entrada / Salida.
• Soporte de la asignación y desasignación de almacenamiento.
• Soporte del sistema de archivos.
• Soporte de un mecanismo de llamada / regreso al procedimiento.
• Soporte de ciertas funciones contables (estadísticas) del sistema.
A. S.O COMO GESTOR DE RECURSOS
Como gestor de recursos, el Sistema Operativo administra:
• La CPU (Unidad Central de Proceso).
• Los dispositivos de E/S
• La memoria.
• Las colas de procesos.
• Los recursos del sistema.
A.1 ASIGNACIÓN DE RECURSOS
>> Gestionar de manera eficiente los recursos del equipo, ejecutando
servicios para los procesos (programas)
>>Los recursos manejados por el S.O son físicos y lógicos.
Físicos: Procesador, Memoria principal, Periféricos
Lógicos: Archivos, puertos de comunicación.
A.2 PROTECCIÓN
>>Garantizar la protección entre los usuarios del sistema.
>>Asegurar la confidencialidad de la información.
>> Distinguir entre uso autorizado y no autorizado.
>>Especificar los controles de seguridad a realizar.
>>Forzar el uso de estos mecanismos de protección.
A.3 CONTABILIDAD
B. S.O COMO MAQUINA EXTENDIDA
B.1 EJECUCIÓN DE PROGRAMAS
Proceso = Programa en ejecución.
El sistema operativo crea, ejecuta y destruye procesos mediante
las órdenes del usuario.
B.2 ORDENES DE E/S
B.3 OPERACIONES SOBRE ARCHIVOS
Permiten realizar operaciones más complejas que las órdenes de
E/S, como: creación, borrado, renombrado, apertura, lectura y
escritura de archivos.
El SO es responsable de:
* Crear y destruir archivos y directorios.
* Realizar copias de seguridad de archivos.
B.4 DETECCIÓN Y TRATAMIENTO DE ERRORES
>>Se encarga detectar posibles errores tanto del sistema mismo,
como del hardware.
Errores en las operaciones de E/S,
Errores en los accesos a memoria o en los buses y
Errores de ejecución en los programas:
Desbordamientos,
Violaciones de memoria,
Códigos de instrucción prohibida, etc.
C. S.O COMO INTERFAZ DE USUARIO
• Espera una orden del usuario. >> Mediante el mouse, teclado, etc.
• Analiza la orden >> En caso de ser correcta, la ejecuta,
• Concluida la orden vuelve a la espera.
2.2 ESTRUCTURA DE UN SISTEMA OPERATIVO
A. SISTEMA OPERATIVO MONOLÍTICO
Es muy común: no existe estructura propiamente dicha o es mínima.
El S. O. es una colección de procedimientos que se pueden llamar entre sí
Para ejecutar los servicios del S. O:
B. SISTEMAS OPERATIVOS ESTRUCTURADOS
B.1 SISTEMAS POR CAPAS
Es una generalización del modelo de estructura simple para un
sistema monolítico.
Consiste en organizar el s. o. como una jerarquía de capas, cada
una construida sobre la inmediata inferior
5 Operador
4 Programas del Usuario
3 Control de Entrada Salida
2 Comunicaciones Operador Proceso
1 Administración de la Memoria y del Disco
0 Asignación del Procesador y Multiprogramación
Capa 0:
Trabaja con la asignación del procesador.
Proporciona la multiprogramación básica.
Capa 1:
Administra la memoria.
Asegura que las páginas (porciones de memoria) requeridas de los
procesos lleguen a memoria cuando fueran necesarias.
Capa 2:
Administra la comunicación entre cada proceso y la consola del
operador.
Por sobre esta capa, cada proceso tiene su propia consola de
operador.
Capa 3:
Controla los dispositivos de e / s y almacena en buffers los flujos
de información entre ellos.
Por sobre la capa 3 cada proceso puede trabajar con dispositivos
abstractos de e / s en vez de con dispositivos reales.
Capa 4:
Aloja los programas del usuario.
Capa 5:
Localiza el proceso operador del sistema.
B.2 MODELO CLIENTE – SERVIDOR
Una tendencia en los S. O. modernos es la de explotar la idea de
mover el código a capas superiores y mantener un núcleo mínimo.
Para solicitar un servicio (por ej.: lectura de un bloque de cierto
archivo) según el modelo cliente servidor:
Si un cliente se comunica con un servidor mediante mensajes:
3. GESTION DE PROCESOS
La “creación” de un proceso significa:
Dar nombre al proceso.
Insertar un proceso en la lista del sistema de procesos conocidos.
Determinar la prioridad inicial del proceso.
Crear el bloque de control del proceso.
Asignar los recursos iniciales del proceso.
La “destrucción” de un proceso implica:
Borrarlo del sistema.
Devolver sus recursos al sistema.
Purgarlo de todas las listas o tablas del sistema.
Borrar su bloque de control de procesos.
4. GESTION DE MEMORIA
La memoria es una gran tabla de palabras o bytes que se referencian cada
una mediante una dirección única. Este almacén de datos de rápido
accesos es compartido por la CPU y los dispositivos de E/S, es volátil y
pierde su contenido en los fallos del sistema. El SO es el responsable de:
* Conocer qué partes de la memoria están utilizadas y por quién.
* Asignar y reclamar espacio de memoria cuando sea necesario.
4.1 SOLICITAR MEMORIA
Este servicio aumenta el espacio de datos de la imagen de memoria del proceso.
4.2 LIBERAR MEMORIA
El sistema operativo recupera el recurso liberado y lo añade a sus listas de
recursos libres, para su posterior reutilización
4.3 COMPARTIR MEMORIA
el gestor de memoria se encarga de ofrecer servicios que permiten que los
procesos puedan comunicarse utilizando un segmento de memoria compartida.
5. COMUNICACIÓN Y SINCRONOZACIÓN ENTRE PROCESOS
5.1 SERVICIOS DE COMUNICACIÓN Y SINCRONIZACIÓN
• Creación del mecanismo.
• Utilización del mecanismo.
• Destrucción del mecanismo,
De acuerdo con esto, los servicios básicos de comunicación, que incluyen todos
los mecanismos de comunicación, son los siguientes;
• Crear. Permite que el proceso solicite la creación del mecanismo.
• Enviar o escribir. Permite que el proceso emisor envíe información a
otro.
• Recibir o leer. Permite que el proceso receptor reciba información de
otro,
• Destruir. Permite que el proceso solicite la creación o destrucción del
mecanismo.
6. GESTIÓN DE E/S
Una de las funciones principales de un S. O. es el control de todos los
dispositivos de E/S de la computadora..
Las principales funciones relacionadas son:
• Enviar comandos a los dispositivos.
• Detectar las interrupciones.
• Controlar los errores.
• Proporcionar una interfaz entre los dispositivos y el resto
del sistema:
• Debe ser sencilla y fácil de usar.
• Debe ser la misma (preferentemente) para todos los
dispositivos.
7. GESTION DE ARCHIVOS Y DIRECTORIOS
Los archivos son colecciones de información relacionada, definidas por
sus creadores. Éstos almacenan programas (en código fuente y objeto) y
datos. El SO es responsable de:
• Crear y destruir archivos y directorios.
• Ofrecer soporte de funciones para manipular archivos y
directorios.
• Establecer la correspondencia entre archivos y unidades de
almacenamiento.
• Realizar copias de seguridad de archivos.
8. SEGURIDAD Y PROTECCIÓN
8.1 AUTENTICACIÓN
El objetivo de la autenticación es determinar que un usuario es quien dice ser., para ello
se debe realizar un logueo e ingresar una contraseña antes de iniciar una sesión.
8.2 PRIVILEGIOS
Los privilegios especifican los recursos que puede acceder cada usuario. Se puede crear
grupos de usuario, y de esa manea asignar privilegios a cada grupo, el administrador es
quien tendrá todos los privilegios del sistema operativo, a este tipo de superusuario
también se le conoce como root.
Para garantizar la seguridad de las contraseñas, estas son almacenadas en algún fichero,
dependiendo del sistema operativo, pero pasado por un proceso de encriptación.
9. ACTIVACIÓN DEL SISTEMA OPERATIVO
En el proceso de activación de un sistema operativo debemos tomar en cuenta:
Las Llamadas al sistema emitidas por los programas.
Interrupción producida por los periféricos.
Condiciones de excepción o error del hardware.
Por tanto, la activación del sistema operativo solamente se realiza mediante el
mecanismo de las interrupciones. Cuando es un proceso en ejecución el que desea un
servicio del sistema operativo ha de utilizar una instrucción
10. INTERFAZ DEL PROGRAMADOR
La interfaz del sistema operativo con el programador es la que recupera los servicios y
llamadas al sistema que los usuarios pueden utilizar directamente desde sus programas.
Las interfaces más utilizadas son: POSIX y los servicios de Win32.
POSIX
POSIX [IEEE96] es el estándar de interfaz de sistemas operativos potables de
1EEE basado en el sistema operativo UNIX
Ejemplos de funciones en POSIX son:
Las funciones, normalmente, devuelven cero si se ejecutaron con éxito 0l en
caso de error; Cuando una función devuelve 1, se almacena en una variable
global, denominada error.
Win32
Define los servicios ofrecidos por los sistemas Windows 95/98, Windows NT y
Windows 2000. En este caso no se trata de un estándar genérico, sino de los
servicios establecido por una casa comercial determinada (Microsoft).
Prácticamente todos los recursos gestionados por el sistema operativo se tratan
como objetos, que se reverencian por medio de manejadores. Estos manejadores
son similares a los descriptores de archivos de POSIX. Aunque sigue los
principios de la programación orienta da a objetos, Win32 no es orientado a
objetos.
Ejemplos de funciones en Win32 son
— GetFileAttributes, para obtener los atributos de un archivo.
— CreateNarnedpipe, para crear una tubería con nombre.
— Bool, objeto de 32 bits que almacena un valor lógico.
— DWCRD, entejo sin signo de 32 bits.
— TCHAP, tipo carácter de dos bytes. LPSTR, puntero a una cadena de
caracteres.
En Win32, las funciones devuelven, en general, true si la llamada se ejecutó
con éxito o false en caso contrario.
11. INTERFAZ DEL USUARIO DEL SISTEMA OPERATIVO
Hoy en día ya existen muchas variedades de interfaces a comparación de hace
muchos años atrás, se han vuelto mas elegantes y son capaces de llamar mucho
la atención a sus usuarios, los mas conocidos entornos de escritorio en el mundo
Unix son KDE, GNOME XFCE, XWINDOW, pero esto no queda solo en como
se ve, si no en las aplicaciones que puede traer incorporado. Lo más común que
puede traer consigo un sistema operativo son:
• Manipulación de archivos y directorios. La interfaz debe proporcionar
operaciones para crear, borrar, renombrar y, en general, procesar archivos y
directorios.
• Herramientas para el desarrollo de las aplicaciones. (Ensambladores,
enlazadores y depuradores).
• Comunicación con otros sistemas.
• Información de estado del sistema.
• Configuración de la propia interfaz y del entorno.
• Intercambio de datos entre aplicaciones.
• Control de acceso.
• Otras utilidades y herramientas (calculadoras o agendas).
ADMINISTRACIÓN DE USUARIOS
INTÉRPRETE DE COMANDOS
El shell del sistema es el principal componente del SO que
utiliza el usuario. Este uso se realiza siempre directa o
indirectamente a través del intérprete. Generalmente incorpora
un lenguaje de programación para automatizar las tareas.
Hay dos tipos de intérpretes de comandos:
ALFANUMÉRICOS: las órdenes se expresan mediante un
lenguaje específico usando las cadenas de caracteres
introducidas por el terminal.
GRÁFICOS (GUI): normalmente las órdenes se especifican
por medio de iconos y otros elementos gráficos.
Multiprogramación
Tiempo compartido
Tiempo real
Multiprocesador
El hecho de que, años después, IBM eligiera para sus PCs a MS-DOS
supuso su mayor fracaso, por lo que acabó desapareciendo.
Con la creación de los circuitos LSI -integración a gran escala-, chips que
contenían miles de transistores en un centímetro cuadrado de silicio,
empezó el auge de los ordenadores personales. En éstos se dejó un poco
de lado el rendimiento y se buscó más que el sistema operativo fuera
amigable, surgiendo menús, e interfaces gráficas. Esto reducía la rapidez
de las aplicaciones, pero se volvían más prácticos y simples para los
usuarios. En esta época, siguieron utilizándose lenguajes ya existentes,
como Smalltalk o C, y nacieron otros nuevos, de los cuales se podrían
destacar: C++ y Eiffel dentro del paradigma de la orientación a objetos, y
Haskell y Miranda en el campo de la programación declarativa. Un
avance importante que se estableció a mediados de la década de 1980 fue
el desarrollo de redes de computadoras personales que corrían sistemas
operativos en red y sistemas operativos distribuidos. En esta escena, dos
sistemas operativos eran los mayoritarios: MS-DOS, escrito por
Microsoft para IBM PC y otras computadoras que utilizaban la CPU Intel
8088 y sus sucesores, y UNIX, que dominaba en los ordenadores
personales que hacían uso del Motorola 68000.
Apple Macintosh
Microsoft Windows
GNU/Linux
En 1991 aparece la primer versión del núcleo de Linux. Creado por Linus
Torvalds y un sin fin de colaboradores a través de Internet. Este sistema
se basa en Unix, un sistema que en principio trabajaba en modo
comandos, estilo MS-DOS. Hoy en dia dispone de Ventanas, gracias a un
servidor grafico y a gestores de ventanas como KDE, GNOME entre
muchos. Recientemente GNU/Linux dispone de un aplicativo que
convierte las ventanas en un entorno 3D como por ejemplo Beryl. Lo que
permite utilizar linux de una forma muy visual y atractiva.