-
Muy bien. Esta haciendo un hermoso día de primavera, aquí
-
afuera en el campus, Grabaré aqui afuera
-
en el campus de Stamford.
-
Es un Parque soleado y tranquilo,
-
donde los estudiantes universitarios vienen
-
Bien, el tema de esta sección es:
-
¿Que es el Software?
-
¿Qué es? ¿Que es el código ?
-
¿Cómo es que algo se ejecuta en la Computadora?.
-
Así que cuando hablamos de Hardware en la
-
Computadora hablamos de la CPU,
-
que es el cerebro la cosa .
-
Por lo tanto la CPU es lo que realmente hace correr
-
y a CPU implementa, lo que es
-
lo que se llama " instrucciones de código máquina".
-
y las instrucciones de código máquina son extremadamente simples
-
Una instrucción de código máquina podría sumar dos números
-
otra instrucción podría
-
Comparar dos números para ver cuál es más grande.
-
Para el código que hemos visto,
-
así que algo como pixel.setred(10).
-
Eso es mucho más complicada,
-
que instrucciones individuales de código máquina
-
La forma en que funciona eso
-
es que pixel.setRed(10)
-
En última instancia expandirá
-
a una serie de tal vez cinco o diez de
-
estas simples instrucciones de código máquina.
-
Tal que, cuando esos diez instrucciones se ejecutan, uno tras otro, se establece
-
el valor rojo, valor del píxel a diez.
-
entraremos en más detalle más adelante acerca de
-
Cómo ocurre esa expansión.
-
creo que una buena primera pregunta sobre la ejecución
-
de un programa es, ¿qué es un programa?
-
Así que mira, el lado derecho de este diagrama
-
Así, un programa, voy a utilizar una especie de ejemplo de ejecución, Firefox
-
Así que, un programa está hecho en realidad con una enorme
-
cantidad de estas simples Instrucciones de Código de Máquina
-
Y así, cuando Firefox, se está ejecutando en su Computadora
-
eso significa en algún lugar en la memoria RAM,
-
hay un bloque de estas instrucciones.
-
Tal que ejecutarlos hace
-
las cosas que hace Firefox
-
Por lo tanto, parpadea el cursor,
-
toma la dirección url, dibuja,
-
obtiene las páginas web y todo ese tipo de cosas.
-
Las instrucciones individuales son realmente triviales, Sólo adiconan dos números. Por lo tanto
-
¿Cómo obtiene desde como parpadeando el cursor?
-
Y lo mejor que puedo decir es
-
que tal vez esto es algo así como la relación entre
-
la arena y la escultura.
-
Cada Instrucción es como un grano de arena
-
que por sí mismo no tiene sentido y un poco se parece a todos los demás.
-
Pero si usted los pone juntos en la manera correcta, tú
-
puedes generar esta complicada estructura general.
-
Y esa es la forma en que Firefox
-
está construido, a partir de ellas, estas sencillas instrucciones
-
Por lo que la forma en que funciona es:
-
la CPU, aquí a la izquierda,
-
corre lo que se llama un "ciclo de ejecución fetch".
-
todo lo que esto significa es que,
-
la CPU empezará, vamos a decir aquí, con la primera instrucción
-
y podrá cargar esa instrucción y ejecutarla.
-
O aveces decimos que se ejecuta esa instrucción.
-
Así, agrega los dos números o hace lo que dice la instrucción
-
y cuando, se hace la instrucción uno, solo va hacia abajo en la lista
-
Va a la instrucción dos, y la hace.
-
va a la instrucción 3 y la hace,
-
es tan sólo ejecutar la secuencia. Así, cuando decimos
-
que una CPU opera en dos gigahercios, dos mil millones de operaciones por segundo, es estos
-
instrucciones poco que se refiere a.
Por lo que hay, obviamente, hay una, una gran
-
variedad de instrucciones. Pero estoy solo va a señalar un par tipos especiales. Por lo tanto
-
un tipo de instrucción tiene el efecto de los cambios en el orden que la instrucción.
-
Normalmente la CPU sólo se ejecuta abajo en la lista y les hace en orden. Pero dejemos? s decir
-
instrucción cuatro quizás dice, oh jump back y inicio ejecutar nuevamente en instrucción
-
uno. Y entonces pensar en la cpu va a hacer. Por lo que va a hacer las instrucciones...
-
Uno, dos, tres, cuatro. Y luego cuando se pone a cuatro, te sorta saltar hacia atrás, y
-
instrucciones de hacer uno, dos, tres nuevamente. Y, a continuación, uno, dos, tres una y otra vez. Le
-
sorta puede ver que es cómo se implementan los bucles. Sólo organizar el
-
instrucciones para que they'res algún fragmento de código quieres hacer 500.000 veces. Bueno,
-
puede configurar una instrucción sólo bucle de vuelta y por lo tanto, hacer de nuevo las instrucciones
-
y otra vez. Otro tipo de instrucción.
Nuestra idea [inaudible] es una instrucción,
-
así, la misma instrucción dos aquí, que las pruebas alguna condición y si la condición
-
es en verdad tal vez omite adelante donde instrucción cinco estaría aquí. SO. Es decir
-
¿Cómo si se implementan las declaraciones. Tienes una instrucción que se va a mirar
-
alguna condición, y si es, si la condición es verdadera, es va a ordenar de tell
-
la CPU para pasar aquí. Y si es false, iré a otro lugar.
-
Por lo tanto por organizar tan las instrucciones, puede obtener el efecto de algo
-
nosotros, que, en nuestro código, parece un si declaración. [sonido]. Alrighty. Tan bien lo
-
¿Cómo, cómo un programa consigue correr y cómo llegamos a, ¿cómo llegamos a esto
-
cosa. Así que me imagino que tienes, Firefox en su unidad flash, usted sabe, la
-
archivo. Así que en la unidad flash o en el disco duro. Así que aquí que he almacenado, largo
-
plazo, ustedes saben, almacenamiento persistente aquí abajo. Y aquí es RAM y aquí está la CPU.
-
Así que cuando tienes Firefox en tu disco duro. Tiene, básicamente, es un archivo, y
-
aquí es llamado Firefox exe, que es sólo una Convención de windows, para saber cómo
-
nombre de un archivo, que es un programa, sino, lo ayuda a mantener las cosas más claras, así que iré
-
siga. Firefox.exe así, ese archivo, tiene un montón de bytes en él y para la mayoría
-
parte, esos bytes, son sólo las instrucciones que componen el programa,
-
Además de algunos iconos. [inaudible] y otras cosas. Lo que quiero pensar en eso
-
bien, ¿qué sucede cuando se hace doble clic en Firefox.exc? ¿Cómo iniciar ejecución?
-
Y básicamente lo que pasa es hay dos pasos. Lo primero que ocurre es la
-
bytes de estas instrucciones, por lo menos suficiente de las instrucciones para comenzar,
-
se copian a la RAM. Por lo que sólo copia, pone las instrucciones en la memoria RAM donde la CPU
-
puede llegar a ellos. Y solo paso dos, decirle a la CPU, ' bueno, bueno, aquí es
-
instrucción uno. Inicio Ejecutar aquí. "
Y así entonces la CPU sólo comienza a extraer
-
la serie de instrucciones y ahora se está ejecutando Firefox. Así que creo que esto
-
¿lleva a la pregunta de como, bien que hacer esto justo? ¿Cómo lo hizo, cómo lo hizo, quien maneja
-
¿doble clic? ¿Quién obtiene Firefox ejecutando? Y eso es lo que un operativo
-
es el sistema. Por lo que el sistema operativo es un conjunto de tipo de supervisión y
-
programas administrativos que ordenan de ustedes saben, organizan, organizan todo el sistema.
-
Así, en particular, el sistema operativo administra varios programas e iniciar
-
y poner fin a programas. Por lo que una computadora moderna puede ejecutar varios programas al mismo
-
tiempo y para el sistema operativo sorta mantiene las cosas organizadas. Así, hace la
-
Inicio de un programa, dándole algunos RAM a utilizar y quizás dándole un
-
para dibujar en la ventana. También, sistemas operativos intentan mantener programas aislados de cada uno
-
otros. Así que cada programa tiene su memoria RAM, pero necesariamente no vaya lío con el
-
RAM de algún otro programa. Así ayuda si un programa tiene errores. Ojalá, te
-
sólo desordenar ese programa, pero no metan a algún otro programa que se está ejecutando. O
-
maliciosa, si programa intentaba hacer algo malo para algún otro programa que,
-
el sistema operativo intenta mantenerlos separados. Por lo tanto, es el sistema operativo
-
realmente lo primero que se ejecuta cuando se inicia el equipo. Eso es lo que tiene va a
-
ponen esas ventanas primeras y tal vez mostrarle lo que está en el disco duro. Y entonces,
-
desde luego, puede haga doble clic o hacer otras cosas y el sistema operativo
-
comenzará a esos programas para usted. Por lo que es realmente, la cosa está
-
ver, cuando arranca el portátil.
Cámara digital, no piense en ello
-
como un equipo, necesariamente, pero realmente es el mismo. Cuando la cámara digital
-
inicia por primera vez, existe probablemente un par programas. Tal vez es el programa que
-
toma fotografías y el programa que le permite mirar a través de las imágenes has
-
ya adoptadas. Y así, cuando la cámara se inicia en primer lugar, hay un poco de
-
obtener administrativo, sorta, obtener ejecutan programas, los tipo de mostrarle la
-
interfaz y, a continuación, sólo permite ir.
Estoy. Así como, una última cosa, hay
-
tipo de, el, estos, esta terminología arranque y reinicio, siempre pensó que era
-
divertido Kinda. ¿Como, de dónde viene? Y yo-, se refiere a la ordenación de
-
problema de huevo de gallina, como, bueno, cuando el equipo primero enciende, cuando lo primero
-
comienza arriba, cómo lo hace. ¿Cómo se organizó conseguir? Cómo empezar
-
¿ejecución de un programa? Y esta terminología proviene realmente de tipo de un viejo chiste,
-
acerca de si desea obtener sobre una valla, lo que sólo podría hacer es llegar a a
-
tus elevarnos y tire hacia arriba y al igual que ascensor usted sobre la valla que
-
forma. Y es, obviamente, especie de absurdo.
Pero, tiene la misma calidad de como,
-
bien esperar, qué programa funciona el equipo para activar el equipo para ejecutar
-
programas. Así ordena de un problema de huevo y la gallina. Por lo que el modo en que funciona es que el
-
hardware, CPU, el, tiene, cuando reconoce que tiene, fue desactivada,
-
y que tiene, acaba de empezar.
Y así hay un especial pequeño programa que
-
está cableado en el equipo para ejecutar, en ese momento. Y ese programa puede quizás
-
comprobar, comprobar lo que es área de hardware, ya sabes, hacen algunas cosas de puesta en marcha de principios básicos.
-
Y entonces bastante mucho busca alrededor de un disco duro o una unidad flash o algo
-
contiene un sistema operativo en él.
Y, a continuación, puede iniciar ese operativo
-
sistema y, a continuación, entonces el equipo puede iniciar de esa forma. Eso ha
-
arranque llamado. Se refiere a esta vieja idea de correa de arranque. Y, a continuación, es lo que reiniciar
-
es. Para reiniciar significa sólo para ordenar de, queremos conseguir un borrón por lo que se va a
-
apagar y arrancar fresco. Muy bien.
Así que ya sabes.