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.