Você está na página 1de 41

Funcionamiento básico de una

computadora
Introducción al software de base
Elementos básicos de una computadora

• Computadora: máquina capaz de efectuar una secuencia de


operaciones mediante un programa, de tal manera, que se
realice un procesamiento sobre un conjunto de datos de
entrada, obteniéndose otro conjunto de datos de salida.

Programa

Datos de Datos de
entrada Computadora
salida
Elementos básicos de la computadora
 Una computadora consta de componentes de
hardware y software.
 Hardware es el equipo físico como es el caso,
unidades de almacenamiento, teclados,
monitores, cables, altavoces, e impresoras.
 El software es el sistema operativo
y programas.
Elementos básicos de la computadora
• Software: interfaz que permite comunicar a la
computadora los problemas (acciones) y hace
posible que nos comunique las soluciones
(respuestas). Los programas son el software
de la computadora. Es una estructura de
instrucciones (o programas) que la máquina es
capaz de leer. Son programas que dirigen las
actividades del sistema de cómputo.
Elementos básicos de la computadora
• Hardware: componentes físicos y tangibles
que forman parte de un sistema de cómputo.
• El modelo von Neuman establece el estándar
de los componentes esenciales de una
computadora. Una computadora física debe
incluir:
– La Unidad Central de Procesamiento (CPU).
– La memoria.
– Las interfaces de entrada y salida (I/O).
Modelo von Neuman

CPU
Estructura y funcionamiento de la
computadora
• CPU: considerado como el cerebro y corazón de la
computadora. Internamente consiste de una Unidad
Aritmético-Lógica (ALU), un conjunto de registros y una
Unidad de Control (CU). La ALU es donde se realizan
todas las operaciones que involucran un
procesamiento matemático (particularmente
aritmético) o lógico (operaciones booleanas). Los
registros permiten el almacenamiento de datos para
estas operaciones y sus resultados. En la CU es donde
se ejecutan todo el resto de las operaciones (decisión,
control, movimiento de datos). Una CPU con todos
estos elementos implementada en un solo chip recibe
el nombre de microprocesador.
Estructura y funcionamiento de la
computadora
• Basado en al modelo von Neuman:
• La CPU Obtiene la siguiente instrucción desde la memoria en la dirección
indicada por el contador de programa y la guarda en el registro de
instrucción.
• Aumenta el contador de programa en la longitud de la instrucción para
apuntar a la siguiente.
• Decodifica la instrucción mediante la unidad de control. Ésta se encarga de
coordinar el resto de componentes para realizar una función determinada.
• Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del
programa, permitiendo así operaciones repetitivas. El contador puede
cambiar también cuando se cumpla una cierta condición aritmética,
haciendo que la computadora pueda 'tomar decisiones', que pueden
alcanzar cualquier grado de complejidad, mediante la aritmética y lógica
anteriores.
• Vuelve al paso 1.
Interrupciones
• Casi todas las computadoras tienen un
mecanismo mediante el cual otros módulos
(E/S, memoria) pueden interrumpir la
ejecución normal del procesador. Las
interrupciones aparecen, principalmente,
como una vía para mejorar la eficiencia del
procesamiento debido a que la mayoría de los
dispositivos externos son mucho más lentos
que el procesador.
Interrupciones
• Para atender las interrupciones, se añade un ciclo de interrupción al
ciclo de instrucción. En el ciclo de interrupción el procesador
comprueba si ha ocurrido alguna interrupción, lo que se indicaría
con la presencia de alguna señal de interrupción. Si no hay
interrupciones pendientes, el procesador sigue con el ciclo de
lectura y trae la próxima instrucción del programa en curso. Si hay
una interrupción pendiente, el planificador suspende la ejecución
del programa en curso y ejecuta una rutina de tratamiento de
interrupción. Esta rutina, generalmente, forma parte del sistema
operativo, determina la naturaleza de la interrupción y realiza
cuantas acciones sean necesarias.
• Una interrupción desencadena una serie de sucesos tanto en el
hardware del procesador como en el software.
Proceso de una interrupción
1. El dispositivo emite una señal de interrupción al procesador.
2. El procesador finaliza la ejecución de la instrucción en curso antes de
responder a la interrupción.
3. El procesador pregunta por la interrupción comprueba que hay una y
envía una señal de reconocimiento al dispositivo que generó la
interrupción, de forma que éste suspende su señal de interrupción.
4. El procesador necesita ahora prepararse para transferir el control a la
rutina de interrupción. Para empezar, hace falta salvar la información
necesaria para reanudar la ejecución del programa en curso en el punto
de la interrupción. La mínima información es la palabra de estado del
programa (PSW) y la ubicación de la próxima instrucción a ejecutar.
5. El procesador carga ahora el contador de programa con la ubicación de
entrada del programa de tratamiento de interrupción.
Proceso de una interrupción
6. La rutina de interrupción suele comenzar salvando el contenido de
los registros del procesador porque la rutina puede utilizarlos y se
perdería la información que la ejecución del proceso interrumpido
hubiera dejado en ellos.
7. La rutina de tratamiento de la interrupción procesa la interrupción
realizando las acciones requeridas para atenderla.
8. Tras completar el tratamiento de la interrupción, se recuperan de
la pila los valores de los registros que se salvaron y se restauran en
los correspondientes registros.
9. El paso final es restaurar los valores del la PSW y del contador de
programa también a partir de la pila y continuar con la ejecución
del programa interrumpido. Estas acciones se llevan a cabo como
resultado de ejecutar la instrucción maquina para retorno de
interrupción, que incluyen la mayoría de las computadoras en su
lenguaje máquina.
Reloj
• La velocidad de una computadora está
determinada por la velocidad de su reloj interno,
el dispositivo cronométrico que produce pulsos
eléctricos para sincronizar las operaciones de la
computadora.
• Las computadoras se describen en términos de su
velocidad de reloj, que se mide en megahertz. La
velocidad también está determinada por la
arquitectura del procesador, es decir el diseño
que establece de qué manera están colocados en
el chip los componentes individuales de la CPU.
Velocidad del procesador
• La velocidad del procesador, se puede medir en diferentes unidades
según el tipo de computadora
– MHz (Megahertz): para microcomputadoras. Un oscilador de cristal controla la
ejecución de instrucciones dentro del procesador. La velocidad del procesador
de una micro se mide por su frecuencia de oscilación o por el número de
ciclos de reloj por segundo. El tiempo transcurrido para un ciclo de reloj es
1/frecuencia. Por ejemplo un procesador de 50MHz (o 50 millones de ciclos de
reloj) necesita 20 nanosegundos para concluir un ciclo. Cuanto más breve es el
ciclo de reloj, más veloz es el procesador.
– MIPS (Millones de instrucciones por segundo): Para estaciones de trabajo,
minis y macrocomputadoras. Por ejemplo una computadora de 100 MIPS
puede ejecutar 100 millones de instrucciones por segundo.
– FLOPS (floating point operations per second, operaciones de punto flotante
por segundo): Para las supercomputadoras. Las operaciones de punto flotante
incluyen cifras muy pequeñas o muy altas. Hay supercomputadoras para las
cuales se puede hablar de GFLOPS (Gigaflops, es decir 1.000 millones de
FLOPS).
Jerarquía de memoria
• Su objetivo es conseguir el rendimiento de una memoria de gran
velocidad al coste de una memoria de baja velocidad.
• Los puntos básicos relacionados con la memoria pueden resumirse
en:
– Cantidad
– Velocidad
– Costo
• La cuestión de la cantidad es simple, cuanto más memoria haya
disponible, más podrá utilizarse. La velocidad óptima para la
memoria es la velocidad a la que el procesador puede trabajar, de
modo que no haya tiempos de espera entre cálculo y cálculo,
utilizados para traer operandos o guardar resultados.
Jerarquía de memoria
Jerarquía de memoria
• Registros: memoria integrada en la CPU, que
permite guardar transitoriamente y acceder a
valores muy usados, generalmente en
operaciones matemáticas.
• Caché: usada por la CPU de una computadora
para reducir el tiempo de acceso a la memoria. La
caché es una memoria más pequeña y rápida, la
cual almacena copias de los datos ubicados en la
memoria principal utilizados con más frecuencia.
Jerarquía de memoria
• RAM (principal): dividida en celdas que se
identifican mediante una dirección. Está formada
por bloques de circuitos integrados o chips
capaces de almacenar, retener o "memorizar"
información digital, es decir, valores binarios; a
dichos bloques tiene acceso el CPU.
• Disco duro: es un dispositivo de almacenamiento
de datos no volátil que emplea un sistema de
grabación magnética o electrónica para
almacenar datos digitales.
Memoria virtual
• Es un método mediante el cual, un sistema
operativo simula tener más memoria principal
que la que existe físicamente. Para
implementar la memoria virtual se utiliza un
medio de almacenamiento secundario de alta
velocidad de acceso, generalmente el disco
duro.
Memoria virtual
• Un sistema de memoria virtual se implementa utilizando
paginación como método de administración de memoria
básica y algún mecanismo de intercambio (para descargar
páginas de la memoria principal hacia el disco duro y para
cargar esas páginas de nuevo a la memoria).
• En las tablas de páginas se agrega un campo más a cada
entrada:
– El bit valido/invalido (p), en los procesadores 80386 y
posteriores, que indica si la página a la que se está haciendo
referencia en un momento dado se encuentra en la memoria
principal (valido) o en el disco duro (invalido). Cuando el sistema
operativo haga referencia a una pagina inválida, deberá ir al
disco duro y cargarla a memoria principal para continuar el
procesamiento.
Memoria virtual
• La paginación consiste en considerar el espacio de
direcciones lógicas de cada proceso como un conjunto
de bloques de tamaño consistente llamados páginas.
Cada dirección lógica manejada para un proceso estará
conformada por un par de valores: página-
desplazamiento.
• La memoria física se administra implementando
bloques de tamaño consistente denominados 'marcos'.
El tamaño de un 'marco' debe ser igual al tamaño de
una página.
• Por lo general el tamaño designado para los marcos y
páginas es pequeño.
Memoria virtual
Memoria virtual
• Existen 2 métodos para cargar programas en
memoria:
– Demanda de página. Consiste en iniciar la
ejecución de los procesos sin páginas cargadas,
estas se irán cargando conforme el proceso las
demande.
– Pre-paginación. Consiste en que el sistema
operativo predice cuales páginas se ocuparan
durante la ejecución de un proceso
Arranque de la computadora
• Cuando se acciona el botón de encendido o se presiona
el botón de re-inicio (Reset) la carga eléctrica inicial
hace que arranque la CPU, este obtiene y ejecuta
instrucciones de la BIOS (Basic Input Output System,
donde hay instrucciones permanentes que no se
borran al apagar la computadora):
– El CPU empieza a ejecutar las instrucciones, iniciando con
prueba de arranque POST(Power On Self Test) la cual
verifica la integridad de la memoria, controladores, y
dispositivos del sistema.
– Después obtiene el orden de arranque (de donde cargará
el sistema operativo).
Arranque de la computadora
• Una vez, que la CPU sabe desde donde puede arrancar el
sistema operativo, busca estos dispositivos y carga un
archivo maestro de arranque del dispositivo arrancable. En
este punto, no se sabe sobre las características del disco
duro y otras unidades de almacenamiento, pero siempre
puede buscar los primeros bloques de información en
cualquier dispositivo para averiguar si la unidad es
arrancable. En los discos duros se encuentra un sector
llamado MBR (Master Boot Record) que contiene la primera
etapa del cargador de arranque de un sistema operativo, el
cual es cargado y ejecutado en la memoria principal.
• Después que se inicia la carga del sistema operativo, el
siguiente paso es establecer el tipo de sistema de archivos
usado en la unidad de arranque/almacenamiento.
Arranque de la computadora
• Finalmente se procede a la carga de
configuraciones y variables de entorno, así
como los perfiles configurados para los
usuarios del sistema operativo.
Gestión de procesos
• El concepto central de cualquier Sistema Operativo es el de
proceso: una abstracción de un programa en ejecución
también llamada tarea.
• No hay una definición especifica de proceso, pero sí algunas
definiciones aceptadas:

– Un programa que se está ejecutando.


– Una actividad asincrónica.
– El emplazamiento del control de un procedimiento que está siendo
ejecutado.
– Aquello que se manifiesta por la existencia en el sistema operativo de
un bloque de control de proceso.
– Aquella entidad a la cual son asignados los procesadores.
– Unidad despachable.
Creación de procesos
• 4 sucesos principales que causan la creación
de procesos:
– Inicialización del sistema.
– Ejecución de una llamada al sistema para crear
procesos por parte de un proceso en ejecución.
– Solicitud de un usuario para crear un proceso.
– Inicio de un trabajo por lotes.
Creación de procesos
• Cuando arranca el sistema operativo se crean
varios procesos algunos son de primer plano,
otros de segundo plano.
– Primer plano: procesos que interactúan con
usuarios (humanos) y trabajan para ellos.
– Segundo plano: no están asociados con un usuario
(humano) en particular, pero tienen una función
especifica.
Características a considerar de los
procesos
• No todos los equipos de cómputo procesan el mismo tipo de
trabajos, y un algoritmo de planificación que en un sistema
funciona excelente puede dar un mal rendimiento en otro
cuyos procesos tienen características diferentes.
• Estas características pueden ser:
– Cantidad de entrada/salida
– Cantidad de uso de CPU
– Procesos de lote o interactivos
– Procesos en tiempo real
– Longevidad de los procesos
Características a considerar de los
procesos
• Cantidad de entrada/salida: existen procesos que
realizan una gran cantidad de operaciones de
entrada y salida (aplicaciones de bases de datos, por
ejemplo).
• Cantidad de uso de CPU: existen procesos que no
realizan muchas operaciones de entrada y salida,
sino que usan intensivamente la unidad central de
procesamiento. Por ejemplo, operaciones con
matrices.
Características a considerar de los
procesos
• Procesos de lote o interactivos: un proceso de lote es más
eficiente en cuanto a la lectura de datos, ya que generalmente
lo hace de archivos, mientras que un programa interactivo
espera mucho tiempo (no es lo mismo el tiempo de lectura de
un archivo que la velocidad en que una persona teclea datos)
por las respuestas de los usuarios.
• Procesos en tiempo real: si los procesos deben dar respuesta
en tiempo real se requiere que tengan prioridad para los
turnos de ejecución.
• Longevidad de los procesos: existen procesos que
típicamente requerirán varias horas para finalizar su labor,
mientras que existen otros que solo necesitan algunos
segundos.
Estados de procesos
1. En ejecución o activo (usando la CPU en ese
instante).
2. Listo (puede ejecutarse; detenido en forma
temporal para permitir que se ejecute otro
proceso).
3. Bloqueado (no puede ejecutarse mientras no
ocurra cierto suceso externo).
Estados de Procesos
• Durante su existencia un proceso pasa por una serie de estados discretos: listo,
bloqueado, activo (en ejecución); siendo varias las circunstancias que pueden
hacer que el mismo cambie de estado.
• Debido a ello se puede establecer una “lista de listos” para los procesos “listos” y
una “lista de bloqueados” para los “bloqueados”.
• La “lista de listos” se mantiene en orden prioritario y la “lista de bloqueados” está
desordenada, ya que los procesos se desbloquean en el orden en que tienen lugar
los eventos que están esperando.
• Al admitirse un trabajo en el sistema se crea un proceso equivalente y es insertado
en la última parte de la “lista de listos”.
• La asignación del CPU al primer proceso de la “lista de listos” se denomina
“Activo”, que es ejecutado por una entidad del sistema operativo llamada
“Despachador”.
• El “bloqueo” es la única transición de estado iniciada por el propio proceso del
usuario, puesto que las otras transiciones son iniciadas por entidades ajenas al
proceso.
PCB
• La manifestación de un proceso en un sistema
operativo es un “Bloque de Control de Proceso”
(PCB) con información que incluye:
– Estado actual del proceso.
– Identificación única del proceso.
– Prioridad del proceso.
– Apuntadores para localizar la memoria del proceso.
– Apuntadores para asignar recursos.
– Área para preservar registros.
PCB
• Cuando el sistema operativo cambia la atención de la
CPU entre los procesos, utiliza las áreas de
preservación del PCB para mantener la información
que necesita para reiniciar el proceso cuando consiga
de nuevo el CPU.
• Los sistemas que administran los procesos deben
poder crear, destruir, suspender, reanudar, cambiar la
prioridad, bloquear, despertar y despachar un
proceso.
Creación de un proceso
• Implica:
– Dar nombre al proceso.
– Insertar un proceso en la lista del sistema de
procesos conocidos.
– Determinar la prioridad inicial del proceso.
– Crear el bloque de control del proceso.
– Asignar los recursos iniciales del proceso.
Creación de proceso
• Un proceso puede “crear un nuevo proceso”,
en cuyo caso el proceso creador se denomina
“proceso padre” y el proceso creado “proceso
hijo” y se obtiene una “estructura jerárquica
de procesos”.
Destrucción de proceso
• Implica:
– Borrarlo del sistema.
– Devolver sus recursos al sistema.
– Purgarlo de todas las listas o tablas del sistema.
– Borrar su bloque de control de procesos.
• Un proceso “suspendido” no puede proseguir hasta que otro proceso lo
reanude.
• Reanudar (reactivar) un proceso implica reiniciarlo en el punto donde fue
suspendido.
• La “destrucción” de un proceso puede o no significar la destrucción de los
procesos hijos, según el sistema operativo.
• Se denomina “Tabla de procesos” al conjunto de información de control
sobre los distintos procesos.
Interfaz del programador
• Una interfaz de programación representa la
capacidad de comunicación entre
componentes de software. Operan mediante
un conjunto de llamadas a ciertas bibliotecas
que ofrecen acceso a ciertos servicios desde
los procesos y representa un método para
conseguir abstracción en la programación,
generalmente entre niveles o capas inferiores
y superiores del software.
Interfaz del programador
• Es un conjunto de funciones, procedimientos, métodos
o clases que un sistema operativo, una librería o
servicio proveen peticiones de soporte para programas
de computadoras.
– POSIX (Portable Operating System Interface, Unix): familia
de estándares de llamadas al sistema operativo definidos
por la IEEE, que persiguen generalizar las interfaces de los
sistemas operativos para que una misma aplicación pueda
ser ejecutada en distintas plataformas.
– Win32: es el API de Windows, se puede definir como
estándar, también se conoce como WinApi, este estándar
se debe seguir cuando se desarrollan ambientes gráficos
para Windows.

Você também pode gostar