Tema 3:
Introducción a los
Sistemas Operativos
Departamento de Ingeniería y
Tecnología de Computadores
octubre de 2010
Índice
Índice (1/2)
3.1 Introducción
3.1.1 Concepto de SO
3.1.2 Ubicación del SO en los sistemas de cómputo
3.1.3 Visiones de un SO
3.1.4 Tipos de SSOO
3.1.5 Conceptos clave en un SO
3.1.6 Introducción a Linux
3.2 Primeros pasos con Linux
3.2.1 Acceso al sistema. Usuarios.
3.2.2 Interfaces gráficas
3.2.3 Intérprete de comandos
3.2.4 Documentación y ayuda
3.3 Componentes básicos de un SO
3.3.1 Subsistema de gestión de procesos
3.3.2 Subsistema de gestión de la memoria
3.3.3 Subsistema de gestión de la entrada/salida
Tema 3: Introducción a los SSOO
octubre de 2010 - 2
Índice (2/2)
Índice
3.4 Sistemas de ficheros
3.4.1 Jerarquía de directorios
3.4.2 Consultas al sistema de ficheros
3.4.3 Manipulación del sistema de ficheros
3.4.4 Discos
3.5 Procesos
3.5.1 Lanzamiento y control de procesos
3.5.2 Monitorización de procesos
3.5.3 Comunicación entre procesos
3.6 Funcionamiento interno de un SO
3.6.1 Arranque del sistema
3.6.2 Modo núcleo vs. Modo usuario
3.6.3 Llamadas al sistema
3.6.4 Visión general del sistema
Tema 3: Introducción a los SSOO
octubre de 2010 - 3
Índice
Índice
3.1 Introducción
3.1.1 Concepto de SO
3.1.2 Ubicación del SO en los sistemas de cómputo
3.1.3 Visiones de un SO
3.1.4 Tipos de SSOO
3.1.5 Conceptos clave en un SO
3.1.6 Introducción a Linux
3.2 Primeros pasos con Linux
3.2.1 Acceso al sistema. Usuarios.
3.2.2 Interfaces gráficas
3.2.3 Intérprete de comandos
3.2.4 Documentación y ayuda
3.3 Componentes básicos de un SO
3.3.1 Subsistema de gestión de procesos
3.3.2 Subsistema de gestión de la memoria
3.3.3 Subsistema de gestión de la entrada/salida
Tema 3: Introducción a los SSOO
octubre de 2010 - 4
3.1 Introducción 3.1.1 Concepto de SO
Concepto de SO
• Sistema Operativo:
– Capa sw inmediatamente por encima del hw que...
• Administra CPU(s):
– Comparte CPU entre distintos procesos y núcleo.
• Administra memoria:
– Comparte entre procesos y núcleo.
– Protege accesos cruzados indebidos.
• Administra dispositivos:
– Comparte entre procesos y núcleo.
– Protege accesos cruzados indebidos.
– Ofrece interfaz uniforme y sencillo a muy distintos tipos de
dispositivos (discos, teclado, pantalla, red, etc.).
– Ejemplos:
• Windows (2000, XP, Vista, ...), Linux (Ubuntu, Fedora, ...),
Unix, FreeBSD, MacOS, ...
• Diferencia núcleo (SO prop. dicho) / distribución (incluye sw
de sistema adicional).
Tema 3: Introducción a los SSOO
octubre de 2010 - 5
Ubicación del SO en los sistemas de cómputo
3.1 Introducción 3.1.2 Ubicación del SO en los sistemas de cómputo
• El SO se sitúa entre el hw “desnudo” y las
aplicaciones:
– Proporciona el interfaz adecuado para evitar la dificultad
de tener que acceder directamente al hw
Tema 3: Introducción a los SSOO
octubre de 2010 - 6
Visiones de un SO
3.1 Introducción 3.1.3 Visiones de un SO
• Dos visiones complementarias de un SO:
– Como máquina extendida, o virtual:
• “Enmascara” la complejidad del hw.
• Ofrece un uso más sencillo del computador:
– Para usuarios: Programas de sistema (interfaces gráficos,
intérpretes de comandos, editores, navegadores, sistemas de
ficheros).
– Para programadores: Llamadas al sistema (subrutinas de fácil
uso para manejar memoria, procesos, ficheros, etc.).
– Como administrador de recursos:
• Controla y coordina que todos los recursos de la CPU se
manejen de forma eficiente:
– CPU.
– Memoria.
– Dispositivos.
Tema 3: Introducción a los SSOO
octubre de 2010 - 7
3.1 Introducción 3.1.4 Tipos de SSOO
Tipos de SSOO
• Diversos tipos de SO:
– Dependiendo de:
• Potencia/características de la máquina.
• Propósito principal del sistema de cómputo.
– SO de propósito general para computador personal
(ofimática, uso internet, juegos, software variado, etc.).
– SO de servidores (servicios web, bases de datos, etc.).
– SO de tiempo real (control industrial, robots, etc.).
– SO integrados (dispositivos móviles, sistemas
embebidos, etc.).
– SO de tarjeta inteligente (funcionalidades mínimas,
almacenamiento seguro de datos, etc.).
– SO de supercomputadores (clusters, grandes máquinas,
etc.).
– Etc...
Tema 3: Introducción a los SSOO
octubre de 2010 - 8
Conceptos clave en un SO
3.1 Introducción 3.1.5 Conceptos clave en un SO
• Conceptos clave en un SO (1/3):
– Usuario: persona que trabaja en el sistema; puede haber
varios trabajando simultáneamente.
– Sesión: Periodo de tiempo durante el que un usuario
interactúa con el sistema.
– Programa: Código ejecutable almacenado en disco, que
eventualmente puede ser cargado en memoria para ser
ejecutado.
• Es un concepto estático (sin evolución ni estado).
– Proceso: Programa en ejecución, que necesita recursos
(CPU, memoria, ficheros, dispositivos, etc).
• Es un concepto dinámico, con estado cambiante: contador de
programa con siguiente instrucción a ejecutar, estado actual
de los datos en memoria o disco, etc.
• Es la unidad de trabajo del SO, que debe crear / eliminar /
suspender / reanudar / comunicar / sincronizar los distintos
procesos en ejecución.
Tema 3: Introducción a los SSOO
octubre de 2010 - 9
Conceptos clave en un SO
3.1 Introducción 3.1.5 Conceptos clave en un SO
• Conceptos clave en un SO (2/3):
– Fichero: Unidad lógica de almacenamiento para datos que
necesitan persistencia (discos, memorias USB, etc.).
• Es una secuencia de octetos con un formato determinado,
válida para cualquier clase de datos (texto, enteros, reales,
imágenes, sonidos, vídeos, programas, librerías, formatos
específicos de distintos tipos de sw...).
– Programas del sistema: Programas para operaciones
básicas que suelen acompañar al SO:
• Manipulación de ficheros (crear, eliminar, ver, imprimir, etc.)
• Intérpretes de comandos.
• Proporcionar información de estado (procesos, memoria,
disco).
• Aplicaciones básicas (edición texto, gráficos, cálculo, etc.)
• Utilidades de programación (compiladores, manejo librerías,
depuradores, etc.).
• En realidad, como procesos se les trata exactamente igual
que a otras aplicaciones.
Tema 3: Introducción a los SSOO
octubre de 2010 - 10
Conceptos clave en un SO
3.1 Introducción 3.1.5 Conceptos clave en un SO
• Conceptos clave en un SO (3/3):
– Interfaz de usuario: Permite al usuario dar órdenes al
sistema. Hay de dos tipos:
• Gráfico (GUI, Graphical User Interface): usa ratón, ventanas,
iconos, menús, atajos de teclado, etc.
– Presentan a los usuarios una visión sencilla e intuitiva del
sistema.
– Basados en un gestor de ventanas que permite arrancar y
terminar aplicaciones, trabajar simultáneamente con varias
actividades, manipular ficheros y directorios, configurar el
sistema, etc.
• De línea de comandos: usa un terminal con órdenes
tecleadas, con diversos parámetros y opciones
– Los intérpretes de comandos pueden llamar bien a órdenes
internas (reconocidas y ejecutadas por el propio intérprete) o
bien a programas externos (almacenados en su propio fichero
ejecutable, y que el programa intérprete simplemente carga en
memoria para ejecutar cuando se invocan).
Tema 3: Introducción a los SSOO
octubre de 2010 - 11
Introducción a Linux
3.1 Introducción 3.1.6 Introducción a Linux
• Características principales de Linux (1/2)
– Clon de Unix, iniciado por Linus Torvalds (1991)
– Open source: Código fuente disponible, licencia GPL (puede
usarse, modificarse y distribuirse libremente). Torvalds dirige la
evolución de la rama principal.
– Multiplataforma: corre en CPUs Intel, AMD, PowerPC, ARM, etc.,
de 32/64 bits. Muy portable por estar casi íntegramente escrito
en C.
– Multiusuario/multitarea (también aprovecha arquitecturas SMP y
multicore).
– Protección máxima entre procesos (memoria virtual, con
espacios de direccionamiento independientes).
– Soporte para múltiples sistemas de ficheros: ext3 (nativo), FAT
(12, 32, VFAT), NTFS, ISO9660 (CD), UDF (DVD), ...
– Soporte para múltiples protocolos de red: TCP/IP (Internet),
Samba, NetBEUI (Windows), IPX (Novell), ...
– Soporte para infinidad de dispositivos (impresoras, discos,
tarjetas de red, webcams, etc.)
Tema 3: Introducción a los SSOO
octubre de 2010 - 12
Introducción a Linux
3.1 Introducción 3.1.6 Introducción a Linux
• Características principales de Linux (2/2)
– Múltiples distribuciones (Ubuntu, Fedora, Debian, SUSe, ...).
Muchas con posibilidad de LiveCD.
– Distribución = núcleo + software variado + sistema configuración
(paquetes, admin., ...)
– Gparted: permite (re)particionar disco respetando datos y otros
SO.
• Linux: pueden separarse datos de software/configuración (en
particiones distintas).
• Linux necesita partición de intercambio (swap) (tamaño ~doble
RAM).
– Miles de aplicaciones disponibles (libres y comerciales):
• Ofimática: OpenOffice (suite tipo Office) , Acroread (PDFs), ...
• Internet/comunicaciones: Firefox, Konqueror, Thunderbird, Gaim,
Ekiga...
• Gráficos: GIMP, Xfig, ...
• Multimedia: Mplayer, Amarok, VLC, XMMS, Brasero, K3B, ...
• Desarrollo: Kdevelop, Eclipse, GDB...
• Computación Científica: Matlab, Mathematica, Octave, ...
• Otros: Emuladores (wine, vmware, ...), utilidades varias, juegos, ...
Tema 3: Introducción a los SSOO
octubre de 2010 - 13
Índice
Índice
3.1 Introducción
3.1.1 Concepto de SO
3.1.2 Ubicación del SO en los sistemas de cómputo
3.1.3 Visiones de un SO
3.1.4 Tipos de SSOO
3.1.5 Conceptos clave en un SO
3.1.6 Introducción a Linux
3.2 Primeros pasos con Linux
3.2.1 Acceso al sistema. Usuarios.
3.2.2 Interfaces gráficas
3.2.3 Intérprete de comandos
3.2.4 Documentación y ayuda
3.3 Componentes básicos de un SO
3.3.1 Subsistema de gestión de procesos
3.3.2 Subsistema de gestión de la memoria
3.3.3 Subsistema de gestión de la entrada/salida
Tema 3: Introducción a los SSOO
octubre de 2010 - 14
3.2 Primeros pasos con Linux 3.2.1 Acceso al sistema. Usuarios.
Comentarios de: Tema 3: Introducción a los Sistemas Operativos (0)
No hay comentarios