< Return to Video

Software I (9 mins)

  • 0:00 - 0:06
    Хорошо. Итак, в этот прекрасный весенний день, здесь, на территории кампуса. Я буду делать запись
  • 0:06 - 0:13
    снаружи, здесь в кампусе Стенфорда. Выглядит солнечно, как парк. Там где
  • 0:13 - 0:18
    студенты только что (бормочет). Итак, тема этого раздела: Что такое
  • 0:18 - 0:23
    программное обеспечение? Что такое код? Как это работает на компьютере? Затем мы
  • 0:23 - 0:28
    поговорим об аппаратном обеспечении компьютера, мы поговорим о процессоре, это мозги
  • 0:28 - 0:33
    компьютера. Процессор действительно работает, и процессор реализует то, что
  • 0:33 - 0:38
    называется? Инструкции машинного кода. Инструкции машинного кода очень
  • 0:38 - 0:43
    просты. Одна инструкция машинного кода может сложить два числа, другая инструкция может
  • 0:43 - 0:48
    сравнить два числа, что бы увидеть какое больше. Поэтому. Для кода который мы видели,
  • 0:48 - 0:52
    что-то вроде пиксель точка установить красный десять. Это гораздо сложнее, чем
  • 0:52 - 0:57
    отдельные инструкции машинного кода. Таким образом
  • 0:57 - 1:01
    пиксель точка установить красный десять. Будет в конечном итоге разложен на серии, возможно пяти или десяти
  • 1:01 - 1:05
    этих очень простых машинных инструкций. Таких, что когда эти десять
  • 1:05 - 1:09
    инструкций выполняются, одна за другой, эта сортировка дает эффект установки красного
  • 1:09 - 1:13
    значения пикселя в десять. Хорошо, я углублюсь в это позже,
  • 1:13 - 1:19
    Так как, как происходит это разложение. Так что, я думаю первый хороший вопрос для запуска
  • 1:19 - 1:24
    программы это, что такое программа? Так что я буду смотреть на правую сторону этой
  • 1:24 - 1:29
    диаграммы. Таким образом, программа, и я буду, я буду как бы, использовать его как мой работающий пример
  • 1:29 - 1:34
    Firefox. Таким образом, программа сделана всего лишь, как огромная последовательность этих очень
  • 1:34 - 1:39
    простых машинных инструкций. Итак, когда Firefox работает на твоём
  • 1:39 - 1:44
    компьютере, это значит где-то в оперативной памяти, находится блок этих инструкций.
  • 1:44 - 1:48
    Таких, что выполняя их, как вы знаете, выполняется то, что делает Firefox. Таким образом, он
  • 1:48 - 1:53
    мигает курсором, принимает url, рисует, получает интернет страницы и всё такое.
  • 1:53 - 1:58
    Отдельные инструкции действительно тривиальны, правильно. Просто добавьте две цифры. Так
  • 1:58 - 2:02
    как получить из этого мигающий курсор? И лучшее, что я могу сказать, что это
  • 2:02 - 2:06
    возможно что-то вроде отношений между песком и скульптурой. Когда каждая
  • 2:06 - 2:09
    инструкция это песчинка. Как само по себе - бессмысленно и вроде
  • 2:09 - 2:13
    выглядит как все остальные. Но если вы сложите их вместе нужным образом, вы
  • 2:13 - 2:17
    сможете построить эту завершенную общую структуру. Именно так,
  • 2:17 - 2:21
    Firefox и построен из этих, этих простых инструкций. Как это работает
  • 2:21 - 2:25
    процессор, здесь слева, выполняет, что называется выполнить цикл. И
  • 2:25 - 2:30
    всё это значит, что процессор начнет, скажем, здесь, с Инструкции один,
  • 2:30 - 2:34
    и он загрузит инструкцию и запустит её. Или иногда мы скажем, что он выполняет
  • 2:34 - 2:37
    эту инструкцию. Так что, он добавляет два числа, или делает то, что
  • 2:37 - 2:41
    говорит инструкция. И когда Инструкция один выполнена, он просто переходит вниз
  • 2:41 - 2:45
    по списку. Он переходит к Инструкции два, и выполняет её как первую. Инструкции для вас, это
  • 2:45 - 2:50
    то, что просто работает, просто работает в последовательности. Итак, когда мы говорим,
  • 2:50 - 2:55
    что процессор работает на двух гигагерцах, два миллиарда операций в секунду, это и есть
  • 2:55 - 3:00
    эти маленькие инструкции. Здесь, очевидно, большое
  • 3:00 - 3:05
    разнообразие инструкций. Но я укажу пару специальных типов. Так
  • 3:05 - 3:10
    первый тип инструкций имеет эффект изменения порядка инструкции.
  • 3:10 - 3:15
    Обычно процессор выполняет инструкции вниз по списку и делает их по порядку. Но давайте скажем
  • 3:15 - 3:20
    инструкция четыре может сказать, вернись обратно и начни выполнять снова инструкцию
  • 3:20 - 3:24
    один. И подумаем о том, что процессор будет делать. Он будет выполнять инструкции...
  • 3:24 - 3:27
    Первая, вторая, третья, четвертая. И когда дойдет до четвертой, он вернется обратно, и
  • 3:27 - 3:31
    выполнит инструкции один, два, три снова. И затем один, два, три снова, и снова. Вы
  • 3:31 - 3:35
    можете видеть, как реализованы циклы. Просто упорядочивая
  • 3:35 - 3:38
    инструкции так, что некоторую часть кода мы можем выполнять 500.000 раз. Хорошо,
  • 3:38 - 3:42
    вы можете установить инструкцию в цикл, вернуться и делать так эти инструкции снова
  • 3:42 - 3:47
    и снова. Другой вид инструкций. Наша [бормочет] идея это инструкция,
  • 3:47 - 3:53
    хорошо, та же инструкция два здесь, которая тестирует некоторое условие и если условие
  • 3:53 - 3:58
    верно, возможно, оно пропускает вперед, где будет инструкция 5. Вот
  • 3:58 - 4:02
    как реализован условный оператор. У вас есть инструкция, которая должна посмотреть на
  • 4:02 - 4:05
    некоторое условие, и если оно, если условие верно, оно скажет
  • 4:05 - 4:08
    процессору начать здесь. И если это будет ложь, оно будет запущенно в каком-то другом месте.
  • 4:09 - 4:12
    Так, расположением инструкций просто так, вы можете получить эффект, приблизительно как
  • 4:12 - 4:18
    мы, как, в нашем коде, выглядит как условный оператор. [звук]. Правильно. Хорошо, так
  • 4:18 - 4:24
    как, как программа запускается, и как мы получаем, как мы получаем эту
  • 4:24 - 4:28
    вещь. Я изображу, что вы получили, Firefox на вашем флеш накопителе, вы знаете,
  • 4:28 - 4:33
    файл. Так на вашем флеш диске, или на вашем жестком диске. Здесь, я сохранил, на длительный
  • 4:33 - 4:37
    срок, вы знаете, постоянная память здесь. Здесь оперативная память, здесь процессор.
  • 4:37 - 4:42
    Итак, когда у вас есть Firefox на вашем жестком диске. По существу это файл, и
  • 4:42 - 4:46
    называется Firefox exe, это всего лишь традиция windows, как
  • 4:46 - 4:50
    назвать файл, являющийся программой, но это, это помогает "держать вещи чище", так что я буду
  • 4:50 - 4:55
    следовать этому. Так firefox.exe, этот файл, имеет много байт в себе, и для многих
  • 4:55 - 4:59
    частей, эти байты, всего лишь инструкции, которые делают программу,
  • 4:59 - 5:03
    плюс некоторые иконки. [бормочет] и другие составляющие. Итак о чем я хочу подумать,
  • 5:03 - 5:08
    хорошо, что происходит, когда вы делаете двойной щелчок на Firefox.exc? Как оно начинает выполняться?
  • 5:08 - 5:12
    И что происходит, по существу, в эти два шага. Первое, что происходит, это
  • 5:12 - 5:17
    байты для инструкций, наименьшее достаточное для инструкций, чтобы начать,
  • 5:17 - 5:22
    скопировать в оперативную память. Это все лишь копии, поместите инструкции в оперативную память, откуда процессор
  • 5:22 - 5:26
    сможет их получить. И на втором шаге, просто скажите процессору: 'Ок, хорошо, здесь
  • 5:26 - 5:30
    инструкция один. Начать выполнять здесь.' Итак, когда процессор просто начнет рваться
  • 5:30 - 5:35
    вниз по списку инструкций, и сейчас запустится Firefox. Так я думаю это
  • 5:35 - 5:40
    приведет к вопросу, хорошо, кто делает это, правильно? Как, чьи руки
  • 5:40 - 5:45
    сделали двойной щелчок? Кто запускает Firefox? И что есть что в оперативной
  • 5:45 - 5:50
    системе. Так операционная система это набор контролирующих и
  • 5:50 - 5:56
    администрирующих программ, что как вы знаете, организовывает, организовывает всю систему.
  • 5:56 - 6:01
    Так, в частности, операционная система обслуживает составные программы, запускает
  • 6:01 - 6:06
    и, завершает программы. Так современные компьютеры могут запускать составные программы в тоже
  • 6:06 - 6:10
    время и операционная система организует их. Она делает
  • 6:10 - 6:15
    начало старта программы, дает ей использовать некоторое количество оперативной памяти, и, возможно, даёт
  • 6:15 - 6:19
    окно для изображения. Так же, операционные системы стараются держать программы изолированными от
  • 6:19 - 6:22
    других. Так каждая программа имеет свою оперативную память, но она не обязательно перемешивается с
  • 6:22 - 6:26
    оперативной памятью других программ. Так что же помогает, если программа имеет ошибки. Будем надеяться, это будет
  • 6:26 - 6:30
    просто беспорядок в этой программе, но не путаница с другими программами, которые вы запустили. Или
  • 6:30 - 6:34
    умышленно, если я - программа, пытался сделать что-то плохое другой программе то,
  • 6:34 - 6:38
    операционная система старается держать их отдельно. Так, операционная система
  • 6:38 - 6:42
    действительно первое, что выполняется, когда включается ваш компьютер. Так это то, что будет
  • 6:42 - 6:45
    помещено в его первые окна, и, возможно, покажет вам, что на жестком диске. И затем,
  • 6:45 - 6:49
    отсюда, вы можете сделать двойной щелчок, или сделать что-то ещё, и операционная система
  • 6:49 - 6:52
    запустит эти программы для вас. Так что же действительно вы
  • 6:52 - 6:56
    видите, когда вы включаете свой лэптоп. Цифровая камера, это, вы не думаете о ней
  • 6:56 - 6:59
    обязательно как о компьютере, но это действительно он. когда цифровая камера
  • 6:59 - 7:02
    включается впервые, там, вероятно, есть пара программ. Там, возможно, программа, которая
  • 7:02 - 7:05
    получает снимки, и программа, которая позволяет вам просматривать снимки, которые
  • 7:05 - 7:08
    вы уже сделали. И так, когда камера впервые включается, там есть немного
  • 7:08 - 7:11
    административных, вроде получения, получения, программ работающих чтобы показать вам
  • 7:11 - 7:17
    интерфейс, и тогда это просто позволяет вам действовать. И последняя вещь здесь,
  • 7:17 - 7:21
    это термины boot (загрузка) и reboot (перезагрузка), я всегда считаю, что это
  • 7:21 - 7:25
    вроде забавно. Откуда это пришло? И я, ссылаюсь на что-то вроде
  • 7:25 - 7:28
    проблемы куриного яйца, аналогично, хорошо, когда компьютер впервые включен, когда он впервые
  • 7:28 - 7:31
    запускается, как это. Как получается его самоорганизация? Как начинает
  • 7:31 - 7:36
    работать программа? И эта терминология, как ни странно пришла из старой шутки,
  • 7:36 - 7:40
    о том, что если вы хотите перейти через забор, вы должны просто наклониться к
  • 7:40 - 7:44
    к петелькам на заднике ваших ботинок, и дернуть вверх, и просто как бы поднять себя над забором в этом
  • 7:44 - 7:48
    направлении. Это очевидно смешно. Но оно, оно имеет такие же качества как,
  • 7:48 - 7:52
    хорошо подождите, что программа делает, что бы компьютер работал, для того, что бы включить компьютер, чтобы запускать
  • 7:52 - 7:57
    программы. Это как бы проблема курицы и яйца. Итак, чтобы это работало
  • 7:57 - 8:02
    аппаратное обеспечение, процессор, должен распознавать, что он был выключен,
  • 8:02 - 8:07
    и что он, он запущен. И так здесь специальная маленькая программа, которая
  • 8:07 - 8:13
    "зашита" в компьютер запускаться, в этот момент. И эта программа может, возможно,
  • 8:13 - 8:17
    проверять, проверять область аппаратного обеспечения, вы знаете, делать некоторые основные функции начала запуска.
  • 8:17 - 8:22
    И затем очень мило осматривает жесткий диск или флеш диск или что-либо
  • 8:22 - 8:26
    что содержит операционную систему. И затем может запустить операционную
  • 8:26 - 8:31
    систему и затем, затем компьютер может запускаться. Итак, вот почему это
  • 8:31 - 8:35
    называется загрузкой (boot up). Это связанно с этой старой идеей загрузки ремнём. И затем, что такое перезагрузка.
  • 8:35 - 8:40
    Итак перезагрузка значит просто, что мы хотим получить чистую программу, это ведёт к
  • 8:40 - 8:44
    выключению и свежему запуску. Всё правильно. Теперь вы знаете.
Title:
Software I (9 mins)
Video Language:
English
Konstantin Vostrokonov edited Russian subtitles for Software I
Konstantin Vostrokonov edited Russian subtitles for Software I
Konstantin Vostrokonov edited Russian subtitles for Software I
Konstantin Vostrokonov added a translation

Russian subtitles

Revisions