You are on page 1of 122

Programación de Sistemas

Licenciatura en Sistemas Computacionales


Segundo Cuatrimestre

Docente: Mtro. Luis Zárate Palacios


Correo Electrónico: luis.zarate2403@Gmail.com
Celular: 9611773647
Temas y Subtemas

 Unidad I. Traductores de bajo nivel - 7 de enero – 14 de enero


 Introducción a los traductores de bajo nivel
 Definición de Traductores de Bajo Nivel
 Aplicaciones y usos principales de los Traductores de Bajo Nivel. (Actividad de Aprendizaje I)
 Ejemplo de traductores de bajo nivel (Actividad de Aprendizaje II)
Temas y Subtemas

 Unidad II. Traductores de alto nivel - 21 de enero - 28 de enero


 Introducción a los traductores de alto nivel
 Definición de Traductores de alto Nivel
 Aplicaciones y usos principales de los Traductores de alto Nivel. (Actividad de Aprendizaje III)
 Ejemplo de traductores de alto nivel (Actividad de Aprendizaje IV)
Temas y Subtemas

 Unidad III. Sistemas Operativos -- 4, 11, 18 y 25 de Febrero


 Introducción a los Sistemas Operativos (Actividad de Aprendizaje V)
 Funciones de un Sistema Operativo
 Estructura de los Sistemas Operativos
 El Sistema Operativo como gestor de recursos
 El Sistema Operativo como máquina virtual
 Requerimientos para la Instalación de un Sistema Operativo (Actividad de Aprendizaje VI)
 Particionamiento y Formateo de un Disco Duro (Práctica I)
 Instalación de un Sistema Operativo (Práctica II)
 Configuración del Sistema Operativo (Práctica II)
 Comando Principales de Sistemas Operativos
Temas y Subtemas

 Unidad IV. Herramientas de configuración, arranque y operación de los Sistemas de


Cómputo. -- 4. 11 y 18 de Marzo
 Herramientas de configuración de los Sistemas de Cómputo (Actividad de Aprendizaje VII)
 Herramientas de Arranque de los Sistemas de Cómputo. Configuración de la BIOS (Práctica III)
 Operación de los Sistemas de Cómputo
Criterios de Evaluación

 Primer Parcial
 Actividades de Aprendizaje - 40%
 Examen Escrito - 40% 35%
 Participaciones - 20%
 Segundo Parcial
 Actividades de aprendizaje - 20%
 Reporte de Practica – 50% 35%
 Examen Escrito - 30%

 EXAMEN FINAL 30%

 Calificación Final 100%


Actividades de Aprendizaje

Unidad Actividad de Aprendizaje Fecha de Entrega


I Realizar un mapa mental (Computadora) sobre las 14 de enero
Aplicaciones y usos principales de los Traductores de Bajo
Nivel.
I Realizar una Investigación Documental de los Traductores 14 de enero
de bajo Nivel y representar los ejemplos de los Traductores
de Bajo Nivel de manera creativa.

II Realizar un mapa conceptual (Computadora) sobre las 21 de enero


Aplicaciones y usos principales de los Traductores de Alto
Nivel.
II Realizar una Investigación Documental de los Traductores 28 de enero
de alto Nivel y representar los ejemplos de los Traductores
de alto Nivel de manera creativa.
Actividades de Aprendizaje

Unidad Actividad de Aprendizaje Fecha de Entrega


III Realizar una Investigación Documental sobre los diferentes 4 de febrero
Sistemas Operativos que existen en la actualidad.

III Realizar una Investigación Documental sobre los 18 de febrero


requerimientos de cada uno de los Sistemas Operativos
vistos en la Actividad de Aprendizaje Anterior.

IV Realizar una Investigación Documental sobre las 4 de marzo


Herramientas de configuración de los Sistemas de
Cómputo y describir cada una de ellas en una Tabla, así
como los comandos más importantes.
Recomendaciones

 Los trabajos serán revisados con Safe Assign, programa especializado para identificar
PLAGIO. En caso los trabajos no este citados con Formato APA este será acreedor de la
calificación más baja 0 (CERO).
 Todos los trabajos deberán ser entregados a computadora de manera impresa salvo
excepción acordada entre el docente y el alumno.
 No existe tolerancia de entrega posterior.
Traductores de Bajo Nivel

Unidad I
Introducción

 Los Lenguajes de programación


 Son aplicaciones específicas diseñadas para crear otras aplicaciones o programas. Son
programas para crear programas.
 Se basan en un sistema de instrucciones preestablecidas que indican al ordenador lo que debe
realizar
 Son códigos integrados compuestos por un vocabulario, con una sintaxis y una semántica que
permite elaborar infinitas secuencias válidas de tareas e instrucciones.
 Los lenguaje de programación permiten crear programas específicos que ofrezcan solución a
programas particulares
 Para llevar a cabo cualquier tarea, el ordenador necesita tener información sobre la tarea y un
método para ejecutarla
Introducción

 PROGRAMA
 Conjunto de instrucciones convenientemente ordenadas que indican al ordenador qué
procesos y tareas debe seguir. Cada una de las instrucciones tiene un función específica y
está escrita en un lenguaje que el ordenador entiende. Conjunto de actividades implicadas en
la descripción, el desarrollo y la implementación eficaz de soluciones algorítmicas a problemas
bien especificados
 Algoritmo 1. m. Conjunto ordenado y finito de operaciones que permite hallar la solución de
un problema.
 (Extraído del Diccionario de la RAE, 22ª edición)

 Un algoritmo es, por tanto, una sistemática que transforma un estado inicial en un estado final
 La entrada del programa: Precondiciones
 Descripción del estado inicial (datos y situación de partida)
 La salida del programa: Postcondiciones
 Descripción del estado final (datos y situación deseada al acabar)
Algoritmo

 Componentes:
 Entrada: datos del problema a resolver
 Salida: el resultado de la resolución
 Proceso: pasos a seguir para la resolución
 Propiedades:
 Preciso: orden estricto + expresiones precisas
 Definido: con la misma entrada, siempre resulta la misma salida
 Finito: número finito de pasos
Algoritmos

 Ejemplo: programa para escribir 5 primeras potencias de un número


(pseudocódigo):
1 programa Potencias;
2 leer(x)
3 i = 1; res = 1;
4 res = res*x;
5 escribir(x “ elevado a ” i “ es ” res);
6 i = i + 1
7 si (i > 5) entonces
terminar
8 ir al paso 4
9 fin. 14
Algoritmos

Inicio i=1 res=res*x


x
res=1

Cálculo i, res
Entrada
Salida (pantalla)
i=i+1

SI NO
Fin i>5

Comparación 15
Algoritmos

ENTRADA/SALIDA
ASIGNACION
leer(edad)
longitud = 2 * 3.14 * radio
imprimir(valor)
x=x+1

CONDICION
si (edad < 18) entonces
imprimir(“No puedes votar”)
si no
voto = leer(“Elija su voto”)
fin si
16
Algoritmos

ITERACION
mientras (num <> 8) hacer
num = leer(“Otra vez. Número:”)
fin mientras

para i=1 hasta 10 hacer


imprimir(3 “x” i “=” 3*i)
fin para

repetir
x=x+2
17
hasta que (x > 50)
Actividad de Clase

 Realizar tres ejemplos de algoritmos usados en la vida cotidiana


Lenguaje de Bajo Nivel: Definición

 Un lenguaje de programación de características bajo nivel es aquel en el que sus


instrucciones ejercen un control directo sobre el hardware y están condicionados por la
estructura física de la computadora que lo soporta. El uso de la palabra bajo en su
denominación no implica que el lenguaje sea inferior a un lenguaje de alto nivel, si no
que se refiere a la reducida abstracción entre el lenguaje y el hardware.
Son lenguajes dependientes de la máquina, el programa que se realiza con este tipo de
lenguajes no se pueden migrar o utilizar en otras maquinas.
Estos lenguajes como están diseñados a medida del hardware, aprovechan al máximo
las características del mismo.
Lenguaje Máquina

 El lenguaje maquina, es el que da ordenes a la máquina, que son las operaciones


fundamentales para su funcionamiento.
El ordenador sólo entiende un lenguaje conocido como código binario o código
máquina, consistente en ceros y unos, que son las ordenes, y que sean fáciles de
entender por el hardware de la maquina.
Este lenguaje es mucho más rápido que los lenguajes de alto nivel.
La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos
fuente enormes donde encontrar un fallo es casi imposible.
Lenguaje Máquina

 El Lenguaje Maquina es el conjunto de datos que la parte física de la computadora


(Hardware) es capaz de comprender e interpretar “El Código Binario” comprendido por
los Valores 0 y 1 con tensiones comprendidas entre 0 y 4 Voltios y 4 y 5 Voltios
respectivamente, la secuencias de estos valores formaran cadenas de información para
que se realice una instrucción.
 Este Lenguaje fue el primero empleado por el hombre en la programación de las
primeras computadoras, con secuencias como esta 01101100101001001111
prácticamente se le decía a las computadoras que hacer, esto sera muy fácil de
comprender para la maquina debido a que le hablamos en su propio “idioma” pero es
muy difícil de comprender para nosotros. Indicarle a una Maquina lo que debe hacer es
muy distinto que indicarle a un ser Humano lo que debe hacer, aunque sea la misma
orden.
Lenguaje Ensamblador

 El lenguaje ensamblador, es un derivado del lenguaje maquina y esta formado por


abreviaturas de letras y números.
Con la aparición de este lenguaje se crearon los programas traductores para poder
pasar los programas escritos en lenguaje ensamblador a lenguaje máquina.

 Una instrucción típica de suma seria:


 ADD M, N, P
 Esta instrucción podría significar "sumar el número contenido en la posición de memoria
M al número almacenado en la posición de memoria N y situar el resultado en la posición
de memoria P". Evidentemente es mucho más sencillo recordar la instrucción anterior con
un mnemotécnico que su equivalente en código máquina.
 0110 1001 1010 1011
Lenguaje Ensamblador

 Los lenguajes ensambladores presentan la ventaja frente a los lenguajes maquina de su


mayor facilidad de codificación y, en general, su velocidad de cálculo.
 Los inconvenientes más notables de los lenguajes ensambladores son:
 Dependencia total de la maquina lo que impide la transportabilidad de los programas
(posibilidad de ejecutar un programa en diferentes maquinas).
 La formación de los programadores es más compleja que la correspondiente a los
programadores de alto nivel, ya que exige no sólo las técnicas de programación, sino también el
conocimiento del interior de la máquina.
 Hoy día los lenguajes ensambladores tienen sus aplicaciones muy reducidas en la programación
de aplicaciones y se centran en aplicaciones de tiempo real, control de procesos y de
dispositivos electrónicos, etc.
Características de Lenguaje Ensamblador

 El código escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido ya que su estructura se
acerca al lenguaje máquina, es decir, es un lenguaje de bajo nivel.
 El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para un microprocesador, puede
necesitar ser modificado, para poder ser usado en otra máquina distinta. Al cambiar a una máquina con
arquitectura diferente, generalmente es necesario reescribirlo completamente.
 Los programas hechos, por un programador experto, en lenguaje ensamblador, son generalmente mucho más
rápidos y consumen menos recursos del sistema (memoria RAM y ROM.) que el programa equivalente compilado
desde un lenguaje de alto nivel. Al programar cuidadosamente en lenguaje ensamblador se pueden crear
programas que se ejecutan más rápidamente y ocupan menos espacio que con lenguajes de alto nivel.
 Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un microprocesador por
lo que se pueden crear segmentos de código difíciles y/o muy ineficientes de programar en un lenguaje de alto
nivel, ya que, entre otras cosas, en el lenguaje ensamblador se dispone de instrucciones del CPU que generalmente
no están disponibles en los lenguajes de alto nivel.
 También se puede controlar el tiempo en que tarda una rutina en ejecutarse, e impedir que se interrumpa durante
su ejecución.
Características de Traductores de bajo
nivel

 Adaptación - Máxima entre programación y aprovechamiento del recurso de la


máquina.
 Velocidad - Máxima al contar con un acceso directo a los recursos, sin capas
intermedias.
 Portabilidad - Mínima por estar restringido a las especificaciones del fabricante.
 Abstracción - Mínima por depender completamente de la técnica del hardware.
 Uso - Requiere de la máxima atención y de una organización estructurada en base a los
planos del hardware y del objetivo del software.
Traductores de Alto Nivel

Unidad 2
Traductores de Alto Nivel: Definición

 Los lenguajes de programación de alto nivel son aquellos en los que las instrucciones o
sentencias a la computadora son escritas con palabras similares a los lenguajes humanos,
lo que facilita la escritura y la fácil comprensión por el programación Los lenguajes de
programación son -en general- transportables, esto significa que un programa escrito en
un lenguaje de alto nivel se puede escribir con poca o ninguna modificación en
diferentes tipos de computadora, otra propiedad es que son Independientes
de la maquina, esto es, las sentencias del programa no dependen del diseño o hardware
de una computadora especifica.
Traductores de alto nivel

 Los programas escritos en lenguaje de alto nivel no son entendibles directamente por la
maquina, necesitan ser traducidos a instrucciones en lenguaje maquina. Los
programas que realizan esta traducción se llaman compiladores, y los programas
escritos en un lenguaje de alto nivel se llaman programas fuente.
 El proceso de traducción de un programa fuente se denomina compilación y tras
la fase de enlace se obtiene un programa ejecutable directamente por la computadora.
Aplicaciones y usos principales de los
traductores de alto nivel

 Los programas traductores son de dos tipos: intérpretes y compiladores. Con un


Intérprete, los programas que repiten un ciclo para volver a ejecutar parte de sus
instrucciones, reinterpretan la misma instrucción cada vez que aparece. Por consiguiente,
los programas interpretados se ejecutan con mucha mayor lentitud que los programas en
lenguaje máquina, Por el contrario, los compiladores traducen un programa integro a
lenguaje máquina antas de su ejecución, por lo cual se ejecutan con tanta rapidez
como si hubiesen sido escritos directamente en lenguaje máquina.
 Aunque existen centenares de lenguajes informáticos y de variantes, cabe destacar el
PASCAL, el LOGO para niños, el C, un lenguaje de Bell Laboratories, o el LISP o el PROLOG
que sirven para desarrollar el campo de inteligencia.
Interpretes y Compiladores

 Compilador:

 Un compilador es un programa informático que traduce un programa escrito en un


lenguaje de programación a otro lenguaje de programación, generando un programa
equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje
es lenguaje de máquina, pero también puede ser simplemente texto. Este proceso de
traducción se conoce como compilación.
 Un compilador es un programa que permite traducir el código fuente de un programa en
lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de
máquina). De esta manera un programador puede diseñar un programa en un lenguaje
mucho más cercano a como piensa un ser humano, para luego compilarlo a un
programa más manejable por una computadora.
 Intérprete:
 En ciencias de la computación, intérprete o interpretador es un programa informático capaz de analizar y ejecutar otros programas, escritos en un
lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un
lenguaje de programación al código de máquina del sistema, los primeros (los intérpretes) sólo realizan la traducción a medida que sea necesaria,
típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.
 Usando un intérprete, un solo archivo fuente puede producir resultados iguales incluso en sistemas sumamente diferentes (ej. una PC y un
PlayStation 3). Usando un compilador, un solo archivo fuente puede producir resultados iguales solo si es compilado a distintos ejecutables
específicos a cada sistema.
 Los programas interpretados suelen ser más lentos que los compilados debido a la necesidad de traducir el programa mientras se ejecuta, pero a
cambio son más flexibles como entornos de programación y depuración (lo que se traduce, por ejemplo, en una mayor facilidad para reemplazar
partes enteras del programa o añadir módulos completamente nuevos), y permiten ofrecer al programa interpretado un entorno no dependiente
de la máquina donde se ejecuta el intérprete, sino del propio intérprete (lo que se conoce comúnmente como máquina virtual).
 Para mejorar el desempeño, algunas implementaciones de programación de lenguajes de programación pueden interpretar o compilar el código
fuente original en una más compacta forma intermedia y después traducir eso al código de máquina (ej. Perl, Python, MATLAB, y Ruby). Algunos
aceptan los archivos fuente guardados en esta representación intermedia (ej. Python, UCSD Pascal y Java).
 Comparando su actuación con la de un ser humano, un compilador equivale a un traductor profesional que, a partir de un texto, prepara otro
independiente traducido a otra lengua, mientras que un intérprete corresponde al intérprete humano, que traduce de viva voz las palabras que
oye, sin dejar constancia por escrito.
 En la actualidad, uno de los entornos más comunes de uso de los intérpretes informáticos es Internet, debido a la posibilidad que estos tienen de
ejecutarse independientemente de la plataforma.
Diferencia entre un intérprete y
compilador:

 INTERPRETE: Es un programa que lee línea a línea un programa escrito en un lenguaje; en lenguaje fuente y
lo va traduciendo a un código intermedio, para ejecutarlo.
 COMPILADOR: Es un programa que lee totalmente un programa escrito en un lenguaje; el lenguaje fuente,
y lo traduce a un programa equivalente a otro lenguaje, lenguaje objeto.

 Ventajas:
 La principal ventaja del proceso de compilación frente al de interpretación es que los programas se
ejecutan mucho más rápidamente una vez compilados; por el contrario, es más cómodo desarrollar un
programa mediante un intérprete que mediante un compilador puesto que en el intérprete las fases de
edición y ejecución están más integradas. La depuración de los programas suele ser más fácil en los
intérpretes que en los compiladores puesto que el código fuente está presente durante la ejecución. Estas
ventajas pueden incorporarse al compilador mediante la utilización de entornos de desarrollo y
depuradores simbólicos en tiempo de ejecución.
Diferencia entre un intérprete y
compilador:

 Desventajas del intérprete frente al compilador:

 • La ejecución es más lenta, pues cada instrucción debe ser traducida a código
máquina tantas veces como sea ejecutada.
 • No son adecuados en la fase de explotación del programa ya que el proceso de
interpretación se ha de repetir cada vez que se ejecuta el programa, mientras que con la
compilación, una vez obtenido el programa en leguaje máquina éste puede ser
ejecutado sin necesidad de compilarlo de nuevo.
Sistemas Operativos

Unidad 3
Introducción

 Concepto, historia y evolución


 Clasificación y estructura
 Casos de estudio
 Arranque y activación
Concepto, historia y evolución

 Definiciones:
 El software y/o firmware que hace utilizable al hardware [Deitel].
 Es un programa que controla la ejecución de los programas de
aplicación y que actúa como interfaz entre los usuarios y el
hardware [Satllings].
 Es un programa que actúa como intermediario entre el usuario y
el hardware. El primer objetivo es la comodidad, el segundo la
eficiencia [Silberschatz].
 Es un programa que tiene encomendada una serie de funciones
diferentes cuyo objetivo es simplificar el manejo y utilización de
la computadora, haciéndolo seguro y eficiente [Carretero].
Concepto, historia y evolución … (2)

 Se puede considerar que un S.O. tiene tres objetivos:


 Comodidad.
 Hace que un sistema informático sea más fácil y cómodo de
utilizar, al funcionar como una interfaz entre el usuario y el
hardware, presentando una cara amistosa y sencilla.
 Eficiencia.
 Administrar los recursos del sistema informático de forma eficiente.
Dichos recursos pueden ser físicos (procesador, memoria principal,
periféricos, etc.) o lógicos (archivos, puertos de comunicación,
etc.).
 Capacidad de evolución.
 El S.O. debe construirse de modo que permita el desarrollo
efectivo, la verificación y la introducción de nuevas características
al sistema y, a la vez, no interfiera con los servicios que brinda.
Concepto, historia y evolución …
(3)

 Jerarquía de elementos en una computadora


Usuario
Final
Programador
Programas de aplicación
(Resuelven problemas para los usuarios)
(Word, Excel, …)
Diseñador del
Utilidades Sistema
(Shell, Ensamblador, Enlazador, bibliotecas, …) Operativo
Sistema Operativo
(Windows, Linux, Mac OS X)

Hardware del computador


(PC, Mac, Sun, …)

 Vistas de un sistema operativo


 El sistema operativo como gestor de recursos.
 El Sistema operativo como una máquina extendida.
 El sistema operativo como una interfaz de usuario.
Concepto, historia y evolución … (4)

 El sistema operativo como gestor de recursos.


 Asigna recursos
 Se encarga de asignar los recursos a los programas
en ejecución en función de la disponibilidad de
estos y la prioridad de los programas.
 También tiene que recuperar los recursos asignados
cuando los programas ya no los necesiten.
 Los recursos pueden ser físicos o lógicos.
 Protege
 Tiene que asegurar la confidencialidad de la
información y que los trabajos no interfieran entre sí
por los recursos asignados.
 Hace contabilidad
 Mide la cantidad de recursos, que a lo largo de su
ejecución, utiliza cada programa.
 Bitácoras y Monitorización
Ciclo Escolar 2013-2014B

Concepto, historia y evolución … (5)

 El Sistema operativo como una máquina extendida.


 Ofrece a los programas un conjunto de servicios, o llamadas al
sistema, que pueden solicitar cuando lo necesiten.
 Los servicios se pueden agrupar en cuatro clases:
 Ejecución de programas.
 El S.O. incluye servicios para lanzar a ejecución, parar o abortar un
programa.
 Órdenes de E/S.
 Servicios para proveer a los programas de operaciones de lectura,
escritura y modificación del estado de los periférico, de forma cómoda y
protegida.
 Operaciones sobre archivos.
 Es un nivel de abstracción mayor que las órdenes de E/S. Estos servicios
permiten: creación, borrado, apertura, escritura y lectura de archivos.
 Detección y tratamiento de errores.
 El S.O. debe tratar todas las condiciones de error que detecte el
hardware. Algunos de los errores que pueden aparecer son provocados
por la E/S y otros por la ejecución de los programas.
Ciclo Escolar 2013-2014B

Concepto, historia y evolución … (6)

 El sistema operativo como una interfaz de


usuario.
 Permite que los usuarios dialoguen de forma
interactiva con el sistema. El dialogo puede ser a
través de:
 Interfaz de Texto.
 Se conoce como shell o intérprete de mandatos.
 Espera que el usuario teclee una orden en el shell.
Después la analiza y si es válida la ejecuta. Una vez
que esta concluye retorna a la espera.
 Interfaz grafica.
 Existen elementos gráficos para comunicarse con el
S.O. (botones, menús, iconos, etc.).
 Espera por eventos generados por el ratón y el
teclado. Valida el evento y lo ejecuta. Una vez
ejecutado retorna a la espera de más eventos.
Ciclo Escolar 2013-2014B

Concepto, historia y evolución … (7)

 Los S.O. han estado evolucionando a través de los años. Su


historia y desarrollo esta ligado con las generaciones de
computadoras.
 Prehistoria (años cuarenta).
 Prácticamente sin S.O.
 Procesamiento en serie.
 Primera generación (años cincuenta).
 Procesamiento por lotes
 Segunda generación (años sesenta)
 Multiprogramación y tiempo compartido.
 Tercera generación (años setenta)
 Sistemas de propósito general y multimodo de operación.
 Cuarta generación (años ochenta hasta la actualidad)
 Proceso distribuido.
 Se difunde el concepto de máquina virtual.
Ciclo Escolar 2013-2014B

Concepto, historia y evolución … (8)

ENIAC
 Prehistoria (años cuarenta)
 Máquinas como la ENIAC o la EDVAC.
 No existía un S.O. La interacción se
daba directamente con el hardware.
 El usuario debía codificar su programa
en código máquina, introducirlo
mediante tarjetas perforadas y recibir
la salida de forma impresa.
EDVAC
 El procesamiento se dice que se realiza
en serie por que refleja el hecho de
que los usuarios tenían que acceder
en serie al computador.
 Con el paso del tiempo, para hacer
más eficiente el proceso en serie, se
desarrollaron bibliotecas de funciones
comunes, montadores, cargadores,
depuradores, etc.
Ciclo Escolar 2013-2014B

Concepto, historia y evolución … (9)


Disposición de
la memoria
 Primera generación (años Tratamiento de

cincuenta) interrupciones

 Procesaban un único flujo de Controlador de

Monitor
Dispositivos
trabajos en lotes.
Secuenciamiento
 Disponían de un conjunto de de trabajos

rutinas de E/S. Intérprete del


Lenguaje de Paquete de tarjetas
 Permitían la recuperación del Control
para un sistema
sistema si un trabajo acababa en sencillo de por lotes
error.
Zona del
 Tenían un lenguaje de control de Programa
del
$END
trabajos que permitía especificar Usuario

los recursos a utilizar y las $RUN


operaciones a realizar por cada $LOAD
trabajo.
 El software principal del S.O. se
denominaba monitor, y era el que $FTN

controlaba la secuencia de $JOB


Programa
a compilar
sucesos.
Concepto, historia y evolución … (10)
 Segunda generación (años sesenta)
 La multiprogramación se impuso en sistemas de lotes como
una forma de aprovechar el tiempo empleado en las
operaciones de E/S.
 Se construyen los primeros multiprocesadores.
 Se introduce el concepto de independencia de dispositivos.
 Comienzan los sistemas de tiempo compartido.
 Aparecen los primeros sistemas de tiempo real.

Monoprogramación
Solo un programa Ejecutar Ejecutar
Esperar E/S Esperar E/S
en ejecución a la vez
Tiempo

Multiprogramación Ejecutar Ejecutar Ejecutar Ejecutar


Más de un programa A B Esperar E/S A B Esperar E/S
en ejecución a la vez
Tiempo
Ciclo Escolar 2013-2014B

Concepto, historia y evolución … (11)

 Tercera generación (años cincuenta)


 Es la época de los sistemas de propósito general y se caracterizan por ser
sistemas multimodo, capaces de operar:
 Por lotes
 Multiprogramación
 En tiempo real
 En tiempo compartido
 En modo multiprocesador
 Estos S.O. interpusieron entre el usuario el hardware una gruesa capa de
software y ya no había que preocuparse por la circuitería.
 Los inconvenientes fueron:
 Un complejo lenguaje de control
 Consumían muchos recursos.
 Aparece sistemas de gran difusión principalmente el UNIX. Este sistema fue el
primero en codificarse en un lenguaje de alto nivel, el C.
Ciclo Escolar 2013-2014B

Concepto, historia y evolución … (12)

 Cuarta generación (años ochenta ¿hasta


la actualidad?)
 Los S.O. tienden a dar más importancia a la
productividad del usuario que al rendimiento de
la máquina.
 Se hace masivo el uso de la PC y aparecen los
sistemas “amistosos” (se añade un gestor de
ventanas).
 Adquieren también más importancia las redes
de computadoras y surge el proceso distribuido.
 Surgen interfaces de programación estándar
POSIX
Win32
Ciclo Escolar 2013-2014B

Concepto, historia y evolución … (13)

 Actualmente existe una gran diversidad de


sistemas operativos. Los que se consideran como
de amplia difusión en PC son: Los sistemas tipo Unix
(Linux, Mac OS X) y los sistemas Windows
(Microsoft). Cada uno de ellos tiene su historia y
desarrollo, con cada nueva versión se intenta
mejorar la comodidad y la eficiencia.
Ciclo Escolar 2013-2014B

Concepto, historia y evolución … (14)


 Cuál es mejor?
 http://hanggeek.wordpress.com/2008/03/18/batalla-de-sistemas-operativos/

?
Ciclo Escolar 2013-2014B

Concepto,historia y evolución
¿Cuál SO móvil … (15)
es el más utilizado?
Ciclo Escolar 2013-2014B

Concepto, historia y evolución … (16)


 ¿Qué equipo se usa más para navegar?
Ciclo Escolar 2013-2014B

Clasificación y estructura

 Existen diversas clasificaciones desde distintos puntos de vista


para los sistemas operativos. Monousuarios
Por el número Multiusuarios
de usuarios
Monotareas
Por el número
de tareas Multitareas

Por el número Uniproceso


de procesadores Multiproceso Simétricos
Asimétricos
Clasificación
Específico
de los Por el propósito General
Sistemas
Operativos Monolíticos
Por el tipo de Modulares
diseño Por capas
Micronúcleo
Máquinas virtuales
Por el tipo de Abiertos
desarrollo Cerrado
Ciclo Escolar 2013-2014B

Clasificación y estructura … (2)

 Los componentes del sistema operativo se pueden clasificar de la


siguiente forma:
 Básicos:
Gestor de procesos
Gestor de memoria
Gestor de E/S y almacenamiento secundario
 Servidores:
Servidor de archivos
Servidor de protección y seguridad
 Utilidades:
Interprete de comandos
Programas del sistema
Ciclo Escolar 2013-2014B

Clasificación y estructura … (3)

 Gestor de procesos
 Un proceso es un programa en ejecución que consume
recursos (memoria, archivos, etc.)
 El SO debe gestionar lo siguiente de los procesos:
 Creación y destrucción.
 Suspensión y reanudación.
 Asignación de los recursos al proceso.
 Mecanismos de comunicación y sincronización
 Gestor de memoria
 La memoria se visualiza como un vector enorme de
bytes (direcciones) y es compartida por el CPU y
dispositivos de E/S.
 El SO debe gestionar lo siguiente:
 Qué partes están en uso y quién las esta ocupando.
 Qué procesos se deben cargar y dónde.
 Asigna y libera espacio cuando se requiere
 Gestiona la memoria virtual
Ciclo Escolar 2013-2014B

Clasificación y estructura … (4)


 Gestor de E/S
 El SO debe encargarse de gestionar los distintos dispositivos de
E/S: terminales, dispositivos de almacenamiento secundario y
terciario, teclado, etc.
 El SO gestiona, entre otras cosas:
 Copiado de memoria hacia y desde el controlador.
 Controla transferencias por DMA
 Planificación de acceso a los discos
 Asignación y liberación de espacio en los dispositivos de
almacenamiento secundario
 Servidor de Archivos y directorios
 El archivo es visto como una unidad de almacenamiento lógico
no volátil que agrupa un conjunto de información relacionada
entre sí bajo un mismo nombre.
 Los directorios son objetos que relacionan de forma unívoca un
nombre con un archivo. Es decir un mismo nombre no puede
identificar dos archivos.
 El SO gestiona lo siguiente respecto a los archivos y directorios:
 Creación, apertura, cerrado, borrado y leer archivos y directorios, así
como escritura de archivos.
Ciclo Escolar 2013-2014B

Clasificación y estructura … (5)

 Servidor de protección y seguridad


 Por el lado de la protección se debe:
 Controlar el acceso a los recursos por parte de los procesos
(usuarios)
 Distinguir entre el uso autorizado y no autorizado para acceder a un
recurso.
 Proporcionar métodos de control de acceso.
 Por el lado de la seguridad:
 Proteger al sistema de un uso indebido (fraudulento).
 Autentificar a los usuarios.
 Evitar amenazas al sistema (gusanos, virus, piratas, etc.)
 Evitar intercepción de comunicaciones (cifrado, etc.)
 Intérprete de comandos
 Programa cuya función es obtener los comandos del usuario y
lanzar su ejecución.
 Existen básicamente dos tipos:
 Intérprete de comandos en línea (shell Linux)
 Interfaz gráfico de usuario (Windows)
Ciclo Escolar 2013-2014B

Clasificación y estructura … (6)

 Programas de sistema
 Proporcionan un entorno adecuado para el desarrollo y ejecución de
programas.
 Existen diversas categorías:
Manipulación de archivos y directorios: copiar, mover, renombrar, etc.
Información de estado: monitores, bitácoras.
Programación: compiladores, enlazadores, ensambladores, bibliotecas, etc.
Carga y ejecución: cargador.
Comunicaciones: ssh, sftp, etc.
Aplicaciones: navegadores, editores, etc.
Ciclo Escolar 2013-2014B

Clasificación y estructura … (7)

 Metodologías de diseño de sistemas operativos


 La metodología empleada en el diseño de la
estructura permite abordar la complejidad de los SO
de distintas formas.
 Los objetivos de diseño en un SO son:
Para el usuario
 Fácil de usar, fiable, seguro, potente y sencillo.
Internamente
 Fácil de implementar y mantener
 Flexible, fiable, eficiente y estar libre de errores
Diferenciar claramente entre:
 Mecanismos: qué cosas se pueden hacer.
 Políticas: criterios para decidir que hacer.
Ciclo Escolar 2013-2014B

Clasificación y estructura … (8)

 Núcleo (kernel)
 El núcleo o kernel es la parte fundamental del SO.
 Es el código responsable de controlar y administrar los servicios y
peticiones de recursos y hardware con respecto a uno o varios procesos.
 Para esquematizar las estrategias de diseño se suele mostrar el
SO como una serie de niveles partiendo del hecho de que el
kernel esta directamente en contacto con el hardware.
Ciclo Escolar 2013-2014B

Clasificación y estructura … (9)

 Niveles de un sistema con kernel Aplicaciones de Usuario


monolítico.
 Es la organización más común, no
Programas
Shell
tiene una estructura bien clara y de Sistema
definida.
 Todos sus componentes se Servicios y llamadas al sistema
encuentran integrados en un único
programa (el SO).
 Normalmente han surgido de SO Gestor de Gestor de
pequeños y fueron haciéndose más procesos E/S

Núcleo
grandes debido a su popularidad
(MS-DOS, UNIX en sus orígenes).
 El problema que plantean estos Gestor de memoria
sistemas radica en lo complicado
que es modificar el SO para añadir Controladores
nuevas funcionalidades y servicios.
Además no existe el principio de
ocultación de la información.
Hardware
Ciclo Escolar 2013-2014B

Clasificación y estructura … (10)

Aplicaciones de Usuario
 Niveles en un sistema con diseño
modular. Programas
Shell
 El núcleo esta dividido en módulos de Sistema
con interfaces y funcionalidades
claramente definidas. Interfaz de llamadas al sistema
 Son sistemas altamente
estructurados y modulares donde se Núcleo Gestor de
E/S
pueden sustituir componentes por
otros con el mismo interfaz
(controladores, manejo de archivos,
etc. Gestor de Facilidades Gestor de
Memoria Comunes Procesos
 Estos sistemas se consideran como
de kernel monolítico hibrido debido
a la capacidad de cargar y
descargar los controladores y Controladores de Controladores de
extensiones del sistema mientras el disp por bloques disp por flujo
sistema continúa trabajando sin ser
interrumpido.
Hardware
Ciclo Escolar 2013-2014B

Clasificación y estructura … (11)

 Sistemas estructurados en capas


 El sistema se organiza en una jerarquía de capas, donde cada
capa ofrece una interfaz clara y bien definida a la capa superior
y solamente utiliza los servicios que ofrece la capa inferior.
 La principal ventaja de estos sistemas es la modularidad y
ocultamiento de la información. La desventaja es que una
orden tiene que pasar por varias capas antes de ser ejecutada.

Aplicaciones
Gestor de de usuario
Procesos

Kernel Gestor de
(Administración
del CPU) Memoria
Gestor de
E/S
Interfaz de
Llamadas al
Sistema
Ciclo Escolar 2013-2014B

Clasificación y estructura … (12)

 Sistemas con micronúcleo


 Consiste en implementar la mayor parte de los servicios y
funciones del sistema operativo en procesos de usuario,
dejando solo una pequeña parte del SO ejecutándose en
modo núcleo.
 A la pequeña parte que del SO que se ejecuta en modo
núcleo se le conoce como micronúcleo y a los procesos que
ejecutan el resto de las funciones se les denomina servidores.
 La desventaja radica en que una llamada puede necesitar
muchos mensajes entere los distintos servidores.

Aplicaciones Servidor Servidor Servidor


de Usuario de de de
API API Memoria Procesos E/S

Micronúcleo
Hardware
Ciclo Escolar 2013-2014B

Clasificación y estructura … (13)

 Máquina virtual
 El corazón del sistema, conocido
como monitor de la máquina virtual, Aplicaciones Aplicaciones Aplicaciones
se ejecuta directamente en el De De De
hardware y realiza la Usuario Usuario Usuario
multiprogramación, presentando no
una, sino varias máquinas virtuales al
usuario donde cada máquina virtual
puede estar ejecutando un SO
diferente.
Llamadas Llamadas Llamadas
 La máquina virtual que se presenta al al Sistema al Sistema al Sistema
usuario pretende ser idéntica a la que
en realidad se tiene. Sin embargo no
es sencillo lograr duplicados exactos.
Núcleo 1 Núcleo 2 Núcleo 3
 Compartir recursos se torna
complicado. Monitor de Máquina Virtual
 Estos principios se utiliza para emular
SO sobre otros SO y en Sistemas Hardware
Distribuidos.
Ciclo Escolar 2013-2014B

Casos de estudio (Unix/Linux)

Programas de
Aplicación

Interfaz de
Llamadas al Sistema

 Estructura general de un sistema Unix/Linux Núcleo

Hardware
Hardware
Hardware

Shell
Comandos y
Librerías
Componentes
del compilador

Compilador
Ciclo Escolar 2013-2014B

Casos de estudio (Unix/Linux) … (2)

 Adaptado de Unix. Programación avanzada


Programas de usuario
Nivel Usuario Librerías

 Diagrama de bloques del núcleo Interfaz de llamadas al sistema

Subsistema de Comunicación
Archivos entre procesos
Sistema
de control Planificador
Buffer cache de procesos
Nivel Kernel Gestor de
memoria
Caracter Bloque
Controladores
Unix/Linux

de dispositivos

Control del hardware

Nivel Hardware Hardware


 Vista particionada del kernel
 Tomado de Linux device drivers 2ª Ed.
Casos de estudio (Unix/Linux) … (3)
Ciclo Escolar 2013-2014B
Ciclo Escolar 2013-2014B

Casos de estudio (Unix/Linux) … (4)


 Subsistema de archivos
 Controla los recursos del sistema de archivos, tiene funciones
como:
 Reservar espacio para los archivos.
 Administrar el espacio libre
 Controlar el acceso a los archivos
 Permitir el intercambio de datos entre los archivos y el usuario.
 Los procesos interaccionan con el subsistema de archivos a
través de unas llamadas específicas (open, read, write,
status, etc).
 Se comunica con los dispositivos de almacenamiento
secundarios a través de los controladores de dispositivos. Se
consideran dos tipos según el acceso: bloques y caracteres.
Un mismo dispositivo puede ser manejado en modo bloque
o en modo carácter, depende del controlador que se este
usando.
 Subsistema de control de procesos
 Es el responsable de la planificación de los procesos, su
sincronización, comunicación entre los mismos y del control
de la memoria principal.
Ciclo Escolar 2013-2014B

Casos de estudio (Unix/Linux) … (5)


 El módulo de gestión de memoria
 Se encarga de controlar qué procesos están cargados
en la memoria principal en cada instante.
 Cuando no hay memoria suficiente se recurre al swaping
(intercambio).
 El planificador
 Se encarga de gestionar el tiempo del CPU que tiene
asignado cada proceso.
 Entra en ejecución cada cuanto de tiempo y decide si el
proceso actual tiene derecho a seguir ejecutándose o a
de conmutarse de contexto.
 La comunicación entre procesos
 Puede realizarse de forma asíncrona (señales) o síncrona
(colas de mensajes, semáforos).
 El módulo de control de hardware
 Es la parte del kernel encargada del manejo de las
interrupciones y de la comunicación con la máquina.
Ciclo Escolar 2013-2014B

Casos de estudio (Windows)

Procesos de Procesos Aplicaciones Subsistemas


Soporte del de de de
Sistema Servicio Usuario Ambiente

Modo
 Arquitectura simplificada de Windows (NT)
Usuario Subsistema de DLL’s

Modo Ejecutor
Kernel Sistema de
Controladores de Ventanas
Kernel
Dispositivos y Gráficos
Capa de Abstracción de Hardware (HAL)
Ciclo Escolar 2013-2014B

Casos de estudio (Windows) …(2)


 Modo Kernel
 Capa de Abstracción de Hardware (HAL)
 (1) Separa al kernel, los controladores de dispositivos y al
administrador del hardware, y (2) Oculta las diferencias específicas
de hardware, (tarjetas madre x86, MIPS, PowerPC, y otras).
 Kernel
 Se encarga entre otras cosas de: (1) Las funciones del S. O. a bajo
nivel, (2) Sincronización de múltiples microprocesadores, y (3)
Administración de hilos.
 Controladores de dispositivos
 Traducen las llamadas de Entrada/Salida provocadas por el usuario
en la información específica que los dispositivos de Entrada/Salida
requieren.
 Ejecutor
 Son los servicios del sistema operativo de base, se encarga, entre
otras cosas de: (1) El manejo de memoria, (2) Manejo de procesos e
hilos, (3) Seguridad, (4) Entrada/Salida, (5) Comunicación entre
procesos.
 Sistema de ventanas y Gráficos.
 Funciones de la Interfaz Gráfica de Usuario (GUI), Ventanas,
Controles para la GUI y trazado.
Ciclo Escolar 2013-2014B

Casos de estudio (Windows) …(3)


 Modo Usuario
 Procesos de soporte del sistema
 Entre otras cosas, tiene las tareas de: (1) Acceso al
sistema (nombre de usuario y contraseña) y (2)
Administrar la sesión.
 Procesos de servicio
 Son servicios anfitriones de Windows, como: (1) El
planificador de tareas, (2) Servicios de Spooler (ej.
Impresión). Y muchas otras aplicaciones servidor de
Windows.
 Subsistema de DLL’s (Librerías de Enlace Dinámico)
 Traduce de una función documentada a una
llamada interna del sistema Windows apropiada (no
documentada).
 Subsistemas de Ambiente
 Maneja los procesos del cliente en su mundo.
 Windows API (originalmente de 32 bits, ahora de 64 bits)
 POSIX (escasos servicios Unix)
Ciclo Escolar 2013-2014B

Casos de estudio (Windows) …(4)

 MS-DOS, Windows 95, 98 y ME (16 bits) Aplicación MS-DOS


0K

sobre Windows XP (32 bits). Aplicación de 16 bits


640 K
16 bits
 Windows corre una Máquina DOS
Emulación MS-DOS
1 MB
Virtual NT (NTVDM.EXE), la cual es una Memoria Extendida de MS-DOS
imagen Windows de 16 bits montada
16 MB

sobre el Subsistema de DLL’s. En Emulación de MS-DOS a 32 bits


realidad CMD.EXE es una aplicación Controladores de dispositivos
de consola de Windows. Virtuales (COM, LPT, Teclado) 32 bits

Subsistema de DLL’s
 Para aplicaciones de 16 bits NTVDM 7FFFFFFF
carga “WOW”, un traductor de API de
16 a 32 bits.
Procesos de Procesos Aplicaciones Subsistemas
Soporte del de de de
Sistema Servicio Usuario Ambiente

Modo
Usuario Subsistema de DLL’s

Modo Administrador Sistema de


Kernel Controladores de Ventanas
Kernel y Gráficos
Dispositivos
Capa de Abstracción de Hardware (HAL)
Ciclo Escolar 2013-2014B

Casos de estudio (Windows) …(5)


System Processes Services Applications
Service
Control Mgr.
Windows
SvcHost.Exe Task Manager
LSASS WinMgt.Exe Explorer
WinLogon SpoolSv.Exe OS/2
User
User Application
Services.Exe POSIX
Mode Session Manager
Subsystem DLLs Windows DLLs

System NTDLL.DLL
Threads

Kernel
System Service Dispatcher
Mode
(kernel mode callable interfaces) Windows
USER,
I/O Mgr
GDI

Configura-
Processes

Procedure
Reference
Play Mgr.

(registry)
Plug and

tion Mgr
Security

Threads
Memory
Monitor
System

Object

Virtual
Power
Cache

Local
Mgr.

Mgr.

Call
File

&
Device & Graphics
File Sys. Drivers
Drivers

Kernel
Hardware Abstraction Layer (HAL)
hardware interfaces (buses, I/O devices, interrupts, Original copyright by Microsoft Corporation.
interval timers, DMA, memory cache control, etc., etc.) CRK.
Ciclo Escolar 2013-2014B

Casos de estudio (Linux/Windows)


 Al final del día, en la práctica, ambos se pueden clasificar como monolíticos:
 Todo el núcleo del sistema operativo y sus servicios se ejecutan en un espacio
de direcciones compartido y en modo kernel.
 El núcleo y los servicios forman parte de un módulo
 En Linux: vmlinuz
 En Windwos: ntoskrnl.exe
 La interfaz gráfica de usuario se maneja diferente
 En Windows es un subsistema del kernel
 En Linux se maneja en modo usuario
Application

Application
X-Windows
Windows Linux
User Mode User Mode
Kernel Mode Kernel Mode
System Services System Services
Process Management, Process Management,
Device Device
Win32 Memory Management, Memory Management,
Drivers Drivers
Windowing I/O Management, etc. I/O Management, etc.

Hardware Dependent Code Hardware Dependent Code


Ciclo Escolar 2013-2014B

Casos de estudio (Linux/Windows) … (2)


Linux Windows
 También es modular, pero en menor
 También es modular por: grado:
 Opciones en tiempo de compilación  La inclusión de nuevos drivers
 La mayoría de los componentes del extienden la funcionalidad del kernel.
kernel pueden ser construidos para  Algunas versiones cuentan con
cargarse de forma dinámica (DLKMs)
herramientas para configurar kernels
 DLKMs más a la medida.
 Se pueden construir de forma separada  Los drivers son cargados
del núcleo principal. dinámicamente como módulos
 Se cargan en el kernel en tiempo de  Una cantidad significativa código se
ejecución y sobre demanda.
 Los módulos del kernel pueden ser
ejecuta como drivers.
actualizados.  Se construyen de manera
 Se pueden configurar kernels mínimos. independiente del kernel
 Pueden ser cargados por demanda.
 Portabilidad
 Portabilidad
 La codificación se realiza principalmente
en C y es libre.  La codificación se realiza
principalmente en C y no es libre
 Arquitecturas:
 Alpha, ARM, ARM26, CRIS, H8300, x86, IA-64, M68000,
 Arquitecturas
MIPS, PA-RISC, PowerPC, S/390, SuperH, SPARC, VAX,  x86, MIPS, PowerPC, Alpha, IA-64, x86-64
v850, x86-64
 Requiere memoria > 64MB
 Requiere memoria > 4MB
 Solo un par de supercomputadoras
 La gran mayoría del supercómputo usa usan Windows (versión Server)
Linux (diferentes distribuciones)
Ciclo Escolar 2013-2014B

Casos de estudio (Linux/Windows) … (3)

 Uso de los Sistemas Operativos en 2013


[http://www.netmarketshare.com/]
Ciclo Escolar 2013-2014B

Casos de estudio (Linux/Windows) … (4)

 Uso de los Sistemas Operativos en las 500 supercomputadoras


más poderosas del mundo en 2013 [www.top500.org]
Ciclo Escolar 2013-2014B

Casos de estudio (Android)


Ciclo Escolar 2013-2014B

Casos de estudio …
Ciclo Escolar 2013-2014B

Arranque y activación
 El arranque de una computadora actual tiene dos fases:
 La fase de arranque del hardware
 La fase de arranque del SO
S.O
(Wnd, Linux, Mac OS X)
Bajo el control del Bajo el control del Inicialización bajo el control
Inicador ROM Cargador del SO de la parte residente del SO

S.O.
ROM HDD
-Test del sistema de
archivos
-Creación de ED internas

Test del Hardware Carga en - Completa carga del SO


residente
memoria - Creación de proceso
Carga en memoria del Componentes login
cargador del SO del SO

RAM CPU

Arranque del Hardware Arranque del SO


Ciclo Escolar 2013-2014B

Arranque y activación … (2)


 Los programas en ROM en el arranque de la
computadora realizan tres cosas:
 Una comprobación del sistema, que sirve para
detectar sus características (cantidad de memoria,
periféricos instalados, etc.) y comprobar si funcionan
correctamente.
 Fase de lectura y almacenamiento en memoria del
programa cargador del SO.
 Finalmente cede el control al programa recién
cargado en memoria. El cargador del SO es
independiente del SO.
 En el caso de una PC, la ROM también contiene el
software de E/S llamado BIOS.
 Firmware que contiene los procedimientos para leer y
escribir de disco, leer caracteres del teclado y escribir
en la pantalla
Ciclo Escolar 2013-2014B

Arranque y activación … (3)

 En el arranque del SO incluye las operaciones de:


 Comprobación del sistema.
 Se completan las pruebas del hardware realizadas por la ROM.
 Se comprueba si el sistema de archivos tiene un estado coherente.
 Se establecen las estructuras de datos (ED) propias del SO para almacenar
información referente a: tablas de procesos, tablas de memoria, E/S, etc.
 Se carga en memoria principal aquella parte del SO que ha de estar siempre
presente en memoria (SO residente).
 Se crea un proceso de login (inicio) por cada sesión en el sistema
Ciclo Escolar 2013-2014B

Arranque y activación … (4)


 Una vez cargado el SO, la acciones que activan su
ejecución son:
 Llamadas al sistema emitidas por los programas.
 Interrupciones emitidas por los periféricos.
 Condiciones de excepción o error del hardware.
 En todos los casos anteriores se deja de ejecutar el
proceso en ejecución y se entra a ejecutar el SO.
(Recuérdese el funcionamiento general de una computadora bajo
el control de un programa FuncionamientoGral.ppt).
Ciclo Escolar 2013-2014B

Arranque y activación … (5)


 Secuencia de sucesos en una llamada al sistema:
 El programa de usuario entra en el kernel por una
trampa (trap) (1).
 El SO determina el número de servicio requerido (2).
 El SO invoca el procedimiento de servicio (3).
 Devuelve el control al programa de usuario (4).

Programa de usuario 2
Los programas de
Programa de usuario 1 usuario se ejecutan
Llamada al kernel en modo usuario.

Memoria principal 4
Procedimiento
3 de servicio El sistema operativo
1 se ejecuta en modo
de kernel

2 Tabla de despacho
Instalar Windows 7. Manual de instalación del sistema
operativo

En este tutorial vamos a explicar detalladamente los


pasos a seguir para instalar Windows 7 en nuestro equipo.
En él, instalaremos Windows 7 Ultimate 64 bits , pero el
proceso de instalación para el resto de versiones de
Windows 7 es similar.
Requerimientos o requisitos del sistema:

Deberemos tener una copia de Windows 7 y


tendremos que cumplir los requerimientos mínimos del
sistema:
Procesador de 1 GHz (de 32 bits o 64 bits)
1 GB de memoria RAM (para versiones de 32 bits), ó 2
GB de memoria RAM (para versiones de64 bits)
16 GB de espacio en el disco duro (para versiones de
32 bits), ó 20 GB de espacio en disco (para versiones
de 64 bits)
Tarjeta gráfica con soporte DirectX 9 y con driver
WDDM 1.0 o superior. Pero, si queremos utilizar el modo
de compatibilidad con Windows XP en Windows 7 , se
elevan los requerimientos mínimos a los siguientes:
2 GB de memoria RAM
15 GB adicionales de espacio en disco duro
1. Pasos previos a la instalación de Windows 7

Si tenemos/cumplimos todo lo anterior, entonces


podremos pasar a comenzar a instalar el sistema
operativo. Para ello, introduciremos el DVD de
Windows 7 y, si fuera necesario, deberemos cambiar
en la BIOS el orden de arranque de dispositivos, para
que se ejecute el programa de instalación de
Windows 7 desde el DVD.
Una vez arrancado el programa de instalación, nos
aparecerá la siguiente ventana
Pulsamos en “Siguiente” , de forma que nos aparecerá
otra ventana en la cual comenzaremos la instalación:
Pulsamos en el botón “Instalar ahora” , de forma que se
iniciará el programa de instalación:
En la siguiente ventana, aceptamos los términos de
licencia y pulsamos en “Siguiente”
Ahora tendremos que elegir si queremos actualizar a Windows
7 desde una versión anterior de Windows ya instalada
previamente, o si queremos realizar una instalación nueva .
Recomendamos instalar desde cero en una partición vacía
(sin datos existentes), eligiendo la opción “Personalizada” :
2. Particionamiento del disco duro

Se nos preguntará en qué disco duro o partición


queremos instalar Windows 7 . Aquí tenemos varias
opciones:

- Si tenemos ya creada previamente una partición o si


tenemos un espacio libre sin particionar y no
queremos hacer particiones (se pueden crear
particiones posteriormente), entonces seleccionamos
el disco o partición donde se instalará Windows 7 ,
pulsamos en “Siguiente” y pasaremos directamente al
apartado
- apartado de Instalación de Windows 7 :
- En caso contrario, es decir, si queremos particionar el
disco en este momento, entonces pulsaremos sobre
“Opciones de unidad” :
Pulsamos sobre “Nuevo” para crear una partición nueva
en el espacio sin particionar:
Elegimos el tamaño de la nueva partición (en nuestro
caso, creamos una partición de 30000 MB) y pulsamos
en “Aplicar” :
Nos aparecerá la siguiente ventana, en la cual
pulsaremos en “Aceptar :
Se habrá creado una partición del tamaño que hemos
seleccionado, además de una partición reservada
para Windows, de tamaño 100 MB:
Para crear una nueva partición sobre el espacio restante
sin particionar, seleccionamos en la parte de arriba
dicho espacio sin particionar, pulsamos en “Nuevo” e
indicamos el tamaño de la nueva partición:
Ahora, una vez creadas las particiones, no nos queda
más que formatearlas. Para ello, seleccionamos una
partición y pulsamos sobre “Formatear” :
Para formatear la otra partición que hemos creado,
seguimos el mismo proceso. Una vez formateadas las
particiones, seleccionamos aquella partición donde
queramos instalar Windows 7 y pulsamos sobre
“Siguiente” :
3. Instalación de Windows 7
De esta manera, el proceso de instalación de
Windows 7 comienza:
Durante dicho proceso, se reiniciará el sistema:
Se iniciará de nuevo para proseguir con los pasos de la
instalación. Deberemos ser pacientes, pues tardará un
poco en instalar el sistema operativo:
En este momento, se nos pedirá un nombre de usuario y
de equipo . Los escribimos y pulsamos en “Siguiente” :
Una vez escogido el nombre de usuario con el que nos conectaremos
al sistema operativo, nos aparecerá una ventana para elegir la
contraseña de nuestro usuario , así como una frase o indicio de la
contraseña para que Windows nos la muestre en caso de que se no
olvidara. Rellenamos dichos datos y pulsamos en “Siguiente” :
Llegados a este punto, se nos pedirá la clave de
producto de Windows . Si la tenemos, la escribimos y
pulsamos en “Siguiente” . En caso de no tenerla,
desmarcaremos la casilla “Activar Windows
automáticamente cuando esté conectado” y
pulsaremos en “Siguiente” , aunque deberemos
introducirla en un periodo de 30 días si queremos seguir
usando Windows 7 . No obstante, es importante indicar
que este “periodo de gracia” se puede ampliar 90 días
más, hasta los 120 días sin activación :
El programa de instalación nos pedirá que escojamos si
queremos instalar solamente las actualizaciones de
seguridad y las que Microsoft considere como
importantes, o si queremos usar la configuración
recomendada por Microsoft. Es importante saber que
esta configuración se puede cambiar posteriormente
una vez instalado Windows 7 , por lo que no es crítica la
elección que hagamos en este momento.
Recomendamos escoger la opción “Instalar la
configuración recomendada” :
Escogeremos la fecha y hora del sistema , así como la
zona horaria en la que nos encontremos, y pulsamos en
“Siguiente” :
En este punto, tendremos que elegir la configuración de
red que tendrá el sistema, dependiendo de dónde esté
conectado. Elegimos la opción que más se ajuste a las
características de nuestro sistema. En nuestro caso,
elegimos “Red doméstica” :
Ya estamos en la recta final de la instalación, pues
habiendo escogido toda la configuración que
deseamos, el programa de instalación de Windows 7 la
pondrá en práctica:
En este momento, ya hemos terminado la instalación y
podemos ver la esperada pantalla del escritorio de
Windows 7 :

You might also like