Introducción a los sistemas operativos



Documentos relacionados
Introducción a los sistemas operativos

Tema 1. Conceptos fundamentales de los Sistemas Operativos

Tema 2: Implementación del núcleo de un Sistema Operativo

COLEGIO COMPUESTUDIO


Introducción a las redes de computadores

INTRODUCCIÓN. Que es un sistema operativo? - Es un programa. - Funciona como intermediario entre el usuario y los programas y el hardware

El tema de esta presentación es los conceptos básicos relacionados con Sistemas Operativos.

Sistemas Operativos de Red

Capítulo 1 Introducción a la Computación

TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS

IES Abyla. Departamento de Informática. Sistemas Operativos

Computación Tercer Año

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Unidad 1: Conceptos generales de Sistemas Operativos.

SITEMAS OPERATIVOS PROFESORA ELIZABETH ARIAS INFORMATICA SECCION F 3 SEMESTRE YORDAN ALEXANDER MARIN CUBIDES

Unidad 1: Conceptos generales de Sistemas Operativos.

Es el conjunto de programas y procedimientos ejecutados en un computador, necesarios para hacer posible la realización de una tarea específica.

Sistema de proceso por lotes: esquema operativo


Una computadora es un dispositivo electrónico, operando bajo el control de las instrucciones almacenadas en su propia unidad de memoria.

Unidad I. 1. Introducción. Equipo (PC) Sistema Operativo. Red de PC s. Sistema Operativo de Red. Compartir Recursos Habilitar Usuarios.

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas

pymegnu v2.0 PRESENTACIÓN DE PRODUCTOS

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

UNIVERSIDAD DE LOS ANDES FACULTAD DE CIENCIAS ECONOMICAS Y SOCIALES. PROF. ISRAEL J. RAMIREZ israel@ula.ve

Simplemente responda las siguientes preguntas:

Maquinas virtuales Conceptos Básicos

TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN PROFESOR: MSC. P. Norma Maya Pérez SISTEMAS OPERATIVOS

Fundamentos de Sistemas Operativos

Sistemas Operativos INTRODUCCIÓN A LAS TECNOLOGÍAS INFORMÁTICAS

Características del software

Capítulo 6 Introducción a los Sistemas Operativos de Redes (NOS)

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

Máquinas Virtuales en arquitecturas de microkernel

IS23 Mantenimiento de Instalaciones Informáticas Práctica 6. Acceso remoto a ordenadores tipo PC

Windows Server Windows Server 2003

Sistema Operativo Linux

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno.

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 3: sistemas operativos

Fundamentos de Sistemas de Información (SI)

Introducción a la Computación

Es el corazón del ordenador. En el procesador se realizan todas y cada una de las tareas que los programas ordenan cumplir.

La Pirámide de Solución de TriActive TRICENTER

Ingeniería de Software. Pruebas

Módulo 2. Inicio con Java

Clase 20: Arquitectura Von Neuman

Arquitectura del sistema operativo GNU/Linux. Luis Eduardo Sepúlveda R.

INDICE. Prefacio Parte 1: sistemas operativos tradicionales

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos.

Windows NT. Desdoble del sistema operativo Windows: Sucesor de Windows NT 3.51 Hereda el interfaz de usuario (GUI) de Win95 Versiones:

Lectura 2: El Sistema Operativo y sus Funciones

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Capítulo 5. Cliente-Servidor.

Programación de Sistemas

Act 1: Revisión de Presaberes. Lectura No. 1. Título de la Lectura: El Computador

Unidad II: Administración de Procesos y del procesador

Aplicaciones Informáticas

Capítulo 5. Sistemas operativos. Autor: Santiago Felici Fundamentos de Telemática (Ingeniería Telemática)

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

Unidad 1: Conceptos generales de Sistemas Operativos.

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

Conceptos Básicos de Software. Clase III

Elementos requeridos para crearlos (ejemplo: el compilador)

El Computador. Software

Una mirada práctica a los Micro-Kernels y los Virtual Machine Monitors François Armand, Michel Gien INFORMATICA III

Infraestructura Tecnológica. Sesión 1: Infraestructura de servidores

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Unidad III. Software para la administración de proyectos.

Determinación del nivel de influencia

La Arquitectura de las Máquinas Virtuales.

Al concluir la práctica el alumno conocerá las definiciones, los elementos y funciones de los Sistemas Operativos.

Universidad Central Del Este U.C.E. Facultad de Ciencias Administrativas y de Sistemas Escuela de Ingeniería de Sistemas

Sistemas Operativos Tema 6. Planificación de procesos José Miguel Santos Alexis Quesada Francisco Santana

Fundamentos de Informática E.U.P. Universidad de Sevilla. Capítulo 2: Sistemas operativos

Sistemas Operativos. Curso 2016 Procesos

GESTIÓN ACADÉMICA GUÍA DIDÁCTICA HACIA LA EXCELENCIA COMPROMISO DE TODOS! Nombres y Apellidos del Estudiante:

Sistemas Operativos de red (NOS).

CAPÍTULO 2 Sistemas De Base De Datos Multiusuarios

Concepto de Procesamiento Distribuido y Centralizado

El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor.

HISTORIA Y EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS

SENA CEET, Distrito Capital ADSI Instructor: Ing. Espec. Javier V.aquiro

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Introducción a los sistemas operativos

computadoras que tienen este servicio instalado se pueden publicar páginas web tanto local como remotamente.

Iván Daniel Fiedoruk 12 de Marzo de 2013 Buenos Aires - Argentina

Procesos. Planificación del Procesador.

SMSPymeX: SISTEMA AUTOMATIZADO DE RECEPCIÓN DE PEDIDOS MEDIANTE MENSAJES DE TEXTO SMS

TEMA 1. CONCEPTO DE ORDENADOR: ESTRUCTURA Y FUNCIONAMIENTO

UNIVERSIDAD DE LOS ANDES NÚCLEO UNIVERSITARIO RAFAEL RANGEL

MANUAL DE USUARIO PARA LA INSTALACION DE LOS AGENTES COMMVAULT SIMPANA 9.0

Software libre. El software libre provee la libertad de: Documentación (guías, wikis, faqs, etc.). Programa ejecutable. Código fuente del programa.

Introducción. Acerca de esta guía. Renuncia de responsabilidad. Marcas comerciales. Otros

Tutorial: Primeros Pasos con Subversion

Sistemas Operativos. Curso 2013 Virtualización

UNIVERSIDAD TECNOLOGICA ECOTEC DIEGO BARRAGAN MATERIA: Sistemas Operativos 1 ENSAYO: Servidores BLADE

DESCRIPCION DEL SITEMA MASTER.

Software Computacional y su clasificación

Transcripción:

Facultad de Ingeniería, UNAM Instituto de Investigaciones Económicas, UNAM

Índice Objetivo 1 Objetivo 2 3 4 5

Objetivo de la sesión Presentar y definir el concepto de sistemas operativos Hacer un repaso histórico de 50 años del desarrollo del cómputo, en lo relativo al desarrollo de los sistemas operativos De donde se desprenderán conceptos y estructuras básicos que emplearemos a lo largo del curso

Índice Objetivo 1 Objetivo 2 3 4 5

Qué es un sistema operativo? El sistema base de una computadora El programa que siempre corre Gestor de los recursos del sistema Lo que define qué es compatible y qué no dentro de una determinada arquitectura El programa menos importante de todos No realiza trabajo útil, sino que permite que otros lo hagan...

Qué es un sistema operativo? El sistema base de una computadora El programa que siempre corre Gestor de los recursos del sistema Lo que define qué es compatible y qué no dentro de una determinada arquitectura El programa menos importante de todos No realiza trabajo útil, sino que permite que otros lo hagan...

Qué es un sistema operativo? El sistema base de una computadora El programa que siempre corre Gestor de los recursos del sistema Lo que define qué es compatible y qué no dentro de una determinada arquitectura El programa menos importante de todos No realiza trabajo útil, sino que permite que otros lo hagan...

Qué es un sistema operativo? El sistema base de una computadora El programa que siempre corre Gestor de los recursos del sistema Lo que define qué es compatible y qué no dentro de una determinada arquitectura El programa menos importante de todos No realiza trabajo útil, sino que permite que otros lo hagan...

Qué es un sistema operativo? El sistema base de una computadora El programa que siempre corre Gestor de los recursos del sistema Lo que define qué es compatible y qué no dentro de una determinada arquitectura El programa menos importante de todos No realiza trabajo útil, sino que permite que otros lo hagan...

Qué es un sistema operativo? El sistema base de una computadora El programa que siempre corre Gestor de los recursos del sistema Lo que define qué es compatible y qué no dentro de una determinada arquitectura El programa menos importante de todos No realiza trabajo útil, sino que permite que otros lo hagan...

... Qué no es? Los programas básicos para administrar archivos La forma en que el usuario lanza programas El ambiente con que interactúa el usuario Entorno gráfico Línea de comando...

Qué brinda al programador? Abstracción Embellecimiento -Finkel Virtualización -Arpaci-Dusseau Gestión de recursos Aislamiento y protección

Abstracción Objetivo Proporciona abstracciones consistentes y simplificaciones a los procesos del usuario Archivos y directorios Flujos de caracteres (entrada/salida) Dispositivos, conexiones de red, contacto con el mundo exterior El mismo concepto de proceso

Gestión de recursos Administra los recursos existentes en la computadora, permitiendo la ejecución a los diversos procesos Cómo comparten los diversos procesos los recursos existentes (y rivales) Políticas de asignación (y recuperación) justas

Aislamiento y protección Protección de los datos, de los recursos, de los procesos Entre procesos Entre usuarios Ante procesos mal comportados Ante procesos maliciosos

Ahora sí... Qué es un sistema operativo? El principal programa que corre en una computadora de propósito general Provee una serie de abstracciones básicas a los programas Pueden haber diferentes sistemas operativos, definiendo distintas interfaces, sobre el mismo hardware Un mismo sistema operativo puede adecuarse a distintas arquitecturas de hardware Ofrece una infraestructura de gestión, aislamiento y protección de recursos Permite la implementación de entornos operativos

Índice Objetivo 1 Objetivo 2 3 4 5

Construyendo a través de la historia Para comprender lo que hoy gestionan los sistemas operativos, comencemos viendo cómo es que llegaron a gestionarlo. Vamos con un repaso histórico de la historia de la computación, enfocados a las inovaciones de cada etapa

En el principio... Arquitectura von Neumann (programa almacenado) Programación directa y explícita para el hardware Tiempo de programación tiempo no productivo desperdicio de recursos

Sistemas de proceso por lotes (batch processing) Los programadores codifican su código en un medio de almacenamiento (tarjetas perforadas) Entregan los tambaches (batches) a los operadores Los operadores cargan secuencialmente los trabajos, entregan los resultados conforme se presentan

Sistemas monitor en el proceso por lotes Implementan protección evitando la corrupción de otros trabajos Interactuar con el lector de tarjetas (corrompiendo el siguiente programa) Temporizadores y alarmas para evitar ciclos infinitos Estas medidas de protección requieren modificación del hardware Noción de instrucciones privilegiadas

Sistemas en lotes con spool Spool? Bobina, o Simultaneous Peripherial Operations On-Line Cintas magnéticas Carga intermedia de tarjeta a cinta Resultados a cinta para posterior impresión Liberando los trabajos más lentos Empleo de equipos periféricos especializados

Sistemas multiprogramados Diferentes etapas en la vida de un proceso: limitado por CPU, limitado por entrada-salida Para maximizar el uso de recursos, ejecutar simultáneamente varios procesos Requiere cambios fuertes en el hardware Protección de recursos Espacio de memoria Recursos estrictamente secuenciales requieren bloqueos para ofrecer acceso exclusivo El monitor es invocado con mucha mayor frecuencia por los temporizadores Cambios de contexto Interacción con el equipo: Se mantiene como el modelo en lotes

Sistemas de tiempo compartido 1960s: Sistemas interactivos y multiusuarios Manejo de terminales para la interacción (teletipos, CRTs) Abstracciones de almacenamiento: Archivos, directorios en discos Ventajas al programador: Interacción directa con el equipo Edición interactiva Compilación parcial Ejecución inmediata Bibliotecas de sistema Complejidad técnica Requisito de múltiples cambios de contexto por segundo

Tipos de multitarea Cooperativa o no apropiativa (cooperative multitasking) Cada proceso tiene control del CPU hasta que efectúa una llamada al sistema o indica al sistema que puede tomar el control (yield) Preventiva o apropiativa (preemptive multitasking) El reloj del sistema interrumpe la ejecución de cada proceso transfiriendo forzosamente el control al sistema operativo

Clases de procesos Qué procesos son más importantes? Procesos interactivos El usuario tiene la experiencia de la demora Del sistema Procesos no postergables Por nivel de usuario Hay usuarios más importantes que otros... Asegún el sapo Cada situación puede ameritar una política diferente Los procesos se organizan en colas de prioridad según las políticas requeridas por cada sistema

Índice Objetivo 1 Objetivo 2 3 4 5

Objetivo Nacimiento de las computadoras personales En los 1970s comienzan a aparecer las computadoras personales En un principio, programadas a través de switches, con resultados a través de LEDs Figura: Microcomputadora Altair 8800 (1975, US$600)

La era de los 8 bits ( 1977 1985) Microprocesadores de 8 bits y miniaturización Salida a video (tipo TV) Entrada por teclado Entrada opcional por cinta, primeros diskettes Programación en BASIC (intérprete en ROM) Figura: Commodore Pet 2001 (1977)

La era de los 8 bits ( 1977 1985) Comienzan a manejarse dispositivos: Unidades de cinta, unidades de disco, impresoras, modems, etc. Muchas arquitecturas mutuamente incompatibles Separan el entorno de desarrollo del entorno de ejecución Nace la distribución de binarios Explosión de la industria de los videojuegos

La microcomputadora seria: Familia PC (1981) Figura: Computadora IBM PC modelo 5150 (1981) Primer computadora de una empresa seria, orientada a su uso en ambiente empresarial Entorno primario de ejecución: Línea de comando (PC-DOS, MS-DOS) Al día de hoy sigue siendo la arquitectura predominante

Entorno gráfico (WIMP) (1984) Figura: Apple Macintosh (1984) Ventanas, iconos, menúes, apuntador (Windows, Icons, Menus, Pointer) 1984: Apple Macintosh, primer sistema WIMP con éxito comercial Multiprocesos, no multitarea

Objetivo Multitarea preventiva (1985) Figura: Commodore Amiga 500 (1987) Multitarea preventiva real: 1985 (Amiga, Atari ST) Sin hardware de protección de memoria Los programadores tienen que considerar la concurrencia

La profesionalización del escritorio Fines de los 1980 Intel 80486, Motorola 68040, PowerPC: Hardware tan capaz como el de las estaciones de trabajo Reducción de las arquitecturas alternativas Reemplazo paulatino de los sistemas operativos por otros más capaces (o mejor mercadeados) Mención breve de casos: DOS, Windows y OS/2; AmigaOS y Atari ST; NeXT y MacOS

Convergen Unix y las computadoras humildes Unixes históricos para computadoras personales: Xenix, A/UX, SCO. Muy limitados por su hardware Precio desproporcionadamente alto; mejor ir por una estación de trabajo Génesis del software libre ideológico: GNU (1984) 386/BSD: Primer sistema casi libre Linux (1991+); GNU/Linux El mundo *BSD... Eventual muerte de las estaciones de trabajo Apollo, Digital, Sun, SGI, HP (PA/RISC),...

Tarea! Lectura! Cultura Unix? Cultura Windows? Existe tal cosa? Por qué nos enfocamos a Unix? Todo eso y más: Lean Biculturalism (Joel Spolsky, 2003): http://www.joelonsoftware.com/articles/biculturalism.html

El mercado de los dispositivos (appliances) 1990s: Agendas digitales inteligentes Que se van inflando en computadoras completas 2000s: Ruteadores, modems inteligentes, controladores de TV (set-top boxes) 2007+: Teléfonos celulares inteligentes, tabletas Por fin exitosos (tras incontables fracasos) Cuál es la diferencia entre estos equipos y nuestras computadoras de escritorio?

Arquitecturas hardware en boga hoy En escritorios y servidores: Derivada de PC (Intel x86) En dispositivos embebidos ARM (ocasionalmente MIPS) ARM como alternativa de bajo consumo para servidores Sigue habiendo un importante espacio a controladores que no requieren sistema operativo (p.ej. Arduino) Probablemente siempre lo habrá

Índice Objetivo 1 Objetivo 2 3 4 5

Continuando con la introducción... Seguimos con... Algunos conceptos base que se presentarán repetidamente a lo largo del curso. Algunos conceptos sin demasiada hilación temática pero que se harán fundamentales

Separación espacio núcleo y espacio usuario Evolución de los tipos de modo protegido de los sistemas monitores Dos modos? Más modos? Código con diferentes roles Lo que hace el sistema operativo vs. las aplicaciones del usuario Cómo se brinca entre un modo y otro?

Organización del sistema operativo Hasta dónde llega el sistema operativo? Hasta dónde llega el código que corre en modo protegido/espacio núcleo? Monolítico Todas las operaciones privilegiadas en el mismo super-proceso. Microkernel Un núcleo con el mínimo posible de funcionalidad, descargando en procesos especiales ciertas tareas Híbridos Sistemas que entran mayormente en una categoría, pero tienen alguna excepción

Monolíticos Objetivo La mayor parte de los sistemas históricamente Más fáciles de diseñar ( No es lo mismo que diseño más simple!) Estructuras compartidas directamente entre subsistemas Más rápidos (menos cambios de contexto) Difícil transición a un entorno multiprocesador

Monolíticos: Esquematizando

Microkernel Objetivo Se delegan a espacio usuario todos los procesos que sea posible p.ej. sistemas de archivos, planificación de procesos, administración de memoria, dispositivos, modelo de seguridad... Código resultante más limpio Interfaces claras, separación de responsabilidades Seguridad: Verificabilidad, auto-reparación Más fácil pasar a multiprocesador Más lentos Típicamente basados en paso de mensajes Requieren más cambios de contexto Más difíciles de implementar correctamente

Microkernel: Esquematizando

Diseño híbrido Hay componentes que pueden migrarse limpiamente de un esquema monolítico a uno microkernel Pero hay componentes para los cuales dicha tarea resulta muy cara Incluso en sistemas diseñados originalmente como microkernel Hoy en día encontraremos concepciones híbridas, con características de ambos

Diseño híbrido: Esquematizando