Está en la página 1de 10

INTRODUCCIÓN A SO

Índice de contenido
¿Qué es un SO? 2

Perspectiva Histórica 2

Arquitectura de una computadora generica (Von Neumman) 2

Taxonomía de Flynn 3

Organización de un sistema Operativo (Arquitectura) 4

Modo de ejecución de una CPU 5

Llamadas a sistemas 6

Procesos 7

Memoria 8

Subsistema de E/S 8

Subsistema de Archivos 9

Subsistema de Red 10

Tipo de arquitectura SO 10

1 De 10
1 ¿Qué es un SO?
◦ Un sistema operativo (SO o, frecuentemente, OS—del inglés Operating
System—) es un programa o conjunto de programas de un sistema informático
que gestiona los recursos de hardware y provee servicios a los programas de
aplicación de software, ejecutándose en modo privilegiado respecto de los
restantes (aunque puede que parte de él se ejecute en espacio de usuario).

2 Perspectiva Histórica
◦ El concepto de Sistema Operativo surge en la década de los 50. El primer
Sistema Operativo de la historia fue creado en 1956 para un ordenador IBM
704, y básicamente lo único que hacía era comenzar la ejecución de un
programa cuando el anterior terminaba.
◦ En los años 60 se produce una revolución en el campo de los Sistemas
Operativos. Aparecen conceptos como sistema multitarea, sistema multiusuario,
sistema multiprocesadores y sistema en tiempo real. Es en esta década cuando
aparece UNIX, la base de la gran mayoría de los Sistemas Operativos que
existen hoy en día.
◦ En los años 70 se produce un boom en cuestión de ordenadores personales,
◦ En los 80 nacieron sistemas como MacOS, MS-DOS, Windows
◦ En los 90 nacieron sistemas conmanejo de red.
◦ En nuestro dias...sistemas móviles.

3 Arquitectura de una computadora generica (Von Neumman)


◦ Arquitectura de una computadora (Von Neumann
▪ Dispositivo de Operacion (DO): Ejecuta instrucciones de un conjunto
especificado.
▪ Unidad de control (UC): Organiza la implementación de algoritmos
▪ Memoria : celdas con identificación única que contienen instrucciones y
datos.
▪ Dispositovo ent/sal: perimte comunicacion con elemntos externos al sistema.

Original(en los 40) Evolución (del 60 al 70)

2 De 10
4 Taxonomía de Flynn

Taxonomía de Flynn (Arquitecturas de computadoras). Es una clasificación de


arquitecturas de computadores propuesta por Michael J. Flynn, basadas en el
número de instrucciones concurrentes (control) y en los flujos de datos disponibles
en la arquitectura:

◦ SISD​: ​Computador secuencial que no explota el paralelismo en las


instrucciones ni en flujos de datos. Ejemplos de arquitecturas SISD son las
máquinas con uni-procesador.
◦ MISD​: Poco común debido al hecho de que la efectividad de los múltiples flujos
de instrucciones suele precisar de múltiples flujos de datos. Sin embargo, este
tipo se usa en situaciones de paralelismo redundante, como por ejemplo en
navegación aérea.
◦ SIMD​: Un computador que explota varios flujos de datos dentro de un único
flujo de instrucciones para realizar operaciones que pueden ser paralelizadas
de manera natural. Por ejemplo, un procesador vectorial.
◦ MIMD​: Varios procesadores autónomos que ejecutan simultáneamente
instrucciones diferentes sobre datos diferentes. Los sistemas distribuidos suelen
clasificarse como arquitecturas MIMD; bien sea explotando un único espacio
compartido de memoria, o uno distribuido.

3 De 10
5 Organización de un sistema Operativo (Arquitectura)

◦ KERNEL o NÚCLEO: Es el software encargado de gestionar recursos a través


de los servicios de llamadas al sistema. El núcleo suele implementar
abstracciones de hardware para hacernos más simple trabajar con ellos. Un
núcleo Unix es un programa escrito casi en su totalidad en lenguaje C, con
excepción de una parte del manejo de interrupciones, expresada en el lenguaje

4 De 10
ensamblador del procesador en el que opera.

◦ BIBLIOTECAS DE FUNCIONES: Son programas comunes qué el sistema


operativos utilizará para cumplir sus objetivos.

◦ APPLICACIONES: Son los programas que se para ejecutarse en la


computadora necesitarán que sean gestionados por el sistema operativo.
◦ SHELL CLI: interfaz de línea de comandos o interfaz de línea de órdenes (en
inglés, command-line interface, CLI) es un método que permite a los usuarios
dar instrucciones a algún programa informático por medio de una línea de texto
simple.
◦ SHELL GUI (GRÁFICO) : Interfaz gráfica (en inglés, graphics-unit interface, CLI)
permite a los usuarios dar instrucciones a algún programa informático por medio
de un interfaz gráfica.

6 Modo de ejecución de una CPU

La CPU tiene dos modos de ejecución: ( usuario o restringido) y ( supervisor o


kernel).
◦ Modo usuario o restringido​: el CPU podrá ejecutar sólo las instrucciones del
juego restringido de las aplicaciones.
◦ Modo supervisor o kernel​: la CPU debe poder ejecutar el juego ​completo ​de
instrucciones.

Una interrupción se trata en todo caso, después de terminar la ejecución de la


instrucción en curso.
Ejemplo:
Interrupción​: El SO utiliza la CPU para ejecutar instrucciones de una aplicación,
mientras otra (la aplicaciòn interrumpida) permanece a la espera .
Excepción: La que emite la ALU cuando hay una instrución mal construia( divisón
por cero).

◦ Modo usuario (modo restringido):


▪ Ejecución de instrucciones del código del usuario.
▪ Acceso a direcciones del programa y de datos del usuario.
▪ Ejecución de instrucciones no privilegiadas.
◦ Modo supervisor (modo privilegiado, no restringido o monitor):
▪ Ejecución de instrucciones del código del SO.
▪ Acceso a direcciones del SO y de usuarios.
▪ Ejecución de instrucciones privilegiadas y no privilegiadas.

Interrupciones y Excepciones

◦ De HW:​ Permiten comunicacion entre HW y SW


▪ Interrupción​: señal que envía un dispositivo de E/S a la CPU para indicar
que la operación de la que se estaba ocupando, ya ha terminado. Ej: (error

5 De 10
en operación de E/S, terminación exitosa de un a operació).
▪ Excepción​: una situación de error detectada por la CPU mientras ejecutaba
una instrucción, que requiere tratamiento por parte del SO.
(división por cero)
◦ De SW​: (trap)
▪ Causada por el propio proceso. Ej una petion de usuario (llamada al
sistema).

7 Llamadas a sistemas
Es el mecanismo usado por una aplicación para solicitar un servicio al sistema
operativo.
Es la interfaz que tiene el SO con las aplicaciones. Son llamadas que ejecutan los
programas de aplicación para pedir algún servicio al SO. Difiere para cada SO.

En los sistemas operativos bajo norma POSIX o similares, algunas llamadas al sistema muy usadas
son open, Read (system call), write, close, wait, exec, fork, exit y kill. Los sistemas operativos
actuales tienen cientos de llamadas, por ejemplo Linux 2.x y FreeBSD tienen más de 300.

6 De 10
8 Procesos
Un proceso puede informalmente entenderse como un programa en ejecución. Formalmente
un proceso es "Una unidad de actividad que se caracteriza por la ejecución de una secuencia
de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados".1

Dentro de una computadora, en el SO, cada proceso proporciona los recursos


necesarios para ejecutar un programa. Un proceso tiene un espacio virtual de
direcciones, código ejecutable, identificadores abiertos a los objetos del sistema, un
contexto de seguridad, un identificador único proceso, variables de entorno, una
clase de prioridad, tamaños mínimos y máximos del espacio de trabajo, y al menos
un hilo de ejecución. Cada proceso se inicia con un solo hilo, a menudo llamado el
hilo principal, pero puede crear subprocesos adicionales de cualquiera de sus hilos.

◦ Registros: un registro es una memoria de alta velocidad y poca capacidad,


integrada en el microprocesador, que permite guardar transitoriamente y
acceder a valores muy usados, generalmente en operaciones matemáticas.
◦ Stack (Pila): es un registro de un CPU de computadora cuyo propósito es
mantener la pista de la posición actual de la pila de llamadas.
◦ Program Counter, o Puntero de instrucciones: de un computador que indica la
posición donde está el procesador en su secuencia de instrucciones. Contiene
la dirección de la instrucción ejecutada o a ejecutar (segun SO).

7 De 10
9 Memoria

El SO realiza la gestion y la administración de la memoria del dispositivo.


La memoria principal es un arreglo de palabras o bytes.
Es un repositorio de datos de rápido acceso compartido por las CPUs y los
dispositivos.
La memoria es un área de almacenamiento común a los procesadores y
dispositivos del sistema dónde se almacenan programas, para su ejecución, y
datos.
El vincular programas a direcciones absolutas es fuertemente dependiente del
hardware igual que la posibilidad de reubicación.
El sistema deberá administrar el lugar libre y ocupado, decidir qué proceso podrá
comenzar cuándo es cargado en memoria.

10 Subsistema de E/S

◦ El sistema operativo deberá encapsular y ocultar las características específicas de los


diferentes dispositivos de E/S y ofrecer servicios comunes.
▪ Provee una interfaz cliente para drivers
▪ Proveen servicio como cache, buffering y spooling:
▪ Spooling: colocar trabajos en un bufffer para ser accedido despues por el
dispositivo.
▪ Buffer: memoria dinámica de un tamaño prefijado que sirve para amortiguar tiempos
entre dos procesos.
▪ Cache: memoria intermedia entre otras dos. Coloca información de mayor acceso.

8 De 10
11 Subsistema de Archivos
Encargado de administrar y facilitar el uso de las memorias periféricas, ya sean secundarias
o terciarias.
◦ El sistema operativo es responsable de las siguientes actividades en la administración del
almacenamiento secundario:
▪ Administrar el espacio libre.
▪ Asignar el lugar de la información.
▪ Proveer de algoritmos de planificación de disco
▪ Adminstracion y gestion de cache

9 De 10
12 Subsistema de Red

◦ Administracion y gestion de los recursos de red

13 Tipo de arquitectura SO

◦ Monolitico
▪ Los núcleos monolíticos facilitan abstracciones del hardware subyacente realmente
potentes y variadas.

◦ Mikrokernel
▪ Los micronúcleos (en inglés microkernel) proporcionan un pequeño conjunto de
abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para
ofrecer mayor funcionalidad.4

◦ Hibrido
▪ Los núcleos híbridos (micronúcleos modificados) son muy parecidos a los
micronúcleos puros, excepto porque incluyen código adicional en el espacio de
núcleo para que se ejecute más rápidamente.

10 De 10

También podría gustarte