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.