Набор инструкций на машинном языке, который хранится на диске и выполняется по команде пользователя

Обновлено: 21.11.2024

Умножение двух чисел в памяти
Справа представлена ​​диаграмма, представляющая схему хранения для обычного компьютера. Основная память разделена на ячейки, пронумерованные от (строка) 1: (столбец) 1 до (строка) 6: (столбец) 4. Исполнительный блок отвечает за выполнение всех вычислений. Однако исполнительный блок может работать только с данными, загруженными в один из шести регистров (A, B, C, D, E или F). Предположим, мы хотим найти произведение двух чисел, одно из которых хранится в ячейке 2:3, а другое — в ячейке 5:2, а затем сохранить произведение обратно в ячейку 2:3.

Подход CISC
Основной целью архитектуры CISC является выполнение задачи за минимально возможное количество сборочных линий. Это достигается созданием аппаратного обеспечения процессора, способного понимать и выполнять ряд операций. Для этой конкретной задачи процессор CISC должен быть подготовлен со специальной инструкцией (мы назовем ее «MULT»). При выполнении эта инструкция загружает два значения в отдельные регистры, перемножает операнды в исполнительном блоке, а затем сохраняет произведение в соответствующем регистре. Таким образом, всю задачу умножения двух чисел можно выполнить одной инструкцией:

MULT — это так называемая «сложная инструкция». Он работает непосредственно с банками памяти компьютера и не требует от программиста явного вызова каких-либо функций загрузки или сохранения. Это очень похоже на команду на языке более высокого уровня. Например, если мы допустим, что "a" представляет значение 2:3, а "b" представляет значение 5:2, то эта команда идентична оператору C "a = a * b."

Одно из основных преимуществ этой системы заключается в том, что компилятору требуется очень мало усилий для преобразования оператора языка высокого уровня в язык ассемблера. Поскольку длина кода относительно мала, для хранения инструкций требуется очень мало оперативной памяти. Акцент делается на встраивании сложных инструкций непосредственно в аппаратное обеспечение.

Подход RISC
Процессоры RISC используют только простые инструкции, которые могут быть выполнены за один такт. Таким образом, описанную выше команду «MULT» можно разделить на три отдельные команды: «LOAD», которая перемещает данные из банка памяти в регистр, «PROD», которая находит произведение двух операндов, расположенных в регистрах, и « STORE», который перемещает данные из регистра в банки памяти. Чтобы выполнить точную серию шагов, описанных в подходе CISC, программисту потребуется закодировать четыре строки ассемблера:

На первый взгляд может показаться, что это гораздо менее эффективный способ завершения операции. Поскольку строк кода больше, требуется больше оперативной памяти для хранения инструкций уровня сборки. Компилятор также должен выполнить дополнительную работу, чтобы преобразовать оператор языка высокого уровня в код этой формы.

< TD>Низкое количество циклов в секунду,
большой размер кода
CISC RISC
Упор на оборудование Упор на программное обеспечение
Включает многотактовые
сложные инструкции
Однотактовые,
уменьшенные только инструкция
Память в память:
"LOAD" и "STORE"
включены в инструкции
Регистрация для регистрации :
«ЗАГРУЗИТЬ» и «СОХРАНИТЬ»
являются независимыми инструкциями
Небольшой размер кода,
большое количество циклов в секунду
Транзисторы, используемые для хранения
сложных инструкций
Затрачивает больше транзисторов
в регистрах памяти
Однако стратегия RISC также дает некоторые очень важные преимущества. Поскольку для выполнения каждой инструкции требуется только один тактовый цикл, вся программа будет выполняться примерно за то же время, что и многотактовая команда «MULT». Эти «сокращенные инструкции» RISC требуют меньше транзисторов аппаратного пространства, чем сложные инструкции, оставляя больше места для регистров общего назначения. Поскольку все инструкции выполняются за одинаковое время (т. е. за один такт), возможна конвейерная обработка.

Разделение инструкций "LOAD" и "STORE" фактически уменьшает объем работы, которую должен выполнять компьютер. После выполнения команды «MULT» в стиле CISC процессор автоматически стирает регистры. Если один из операндов необходимо использовать для другого вычисления, процессор должен повторно загрузить данные из банка памяти в регистр. В RISC операнд остается в регистре до тех пор, пока на его место не будет загружено другое значение.

Уравнение производительности
Следующее уравнение обычно используется для выражения производительности компьютера:

Подход CISC пытается свести к минимуму количество инструкций на программу, жертвуя количеством циклов на инструкцию.RISC делает наоборот, сокращая количество циклов на инструкцию за счет количества инструкций на программу.

Препятствия RISC
Несмотря на преимущества обработки на основе RISC, чипам RISC потребовалось более десяти лет, чтобы закрепиться в коммерческом мире. Во многом это было связано с отсутствием поддержки программного обеспечения.

Хотя в линейке Power Macintosh от Apple использовались микросхемы на основе RISC, а Windows NT была совместима с RISC, Windows 3.1 и Windows 95 разрабатывались с учетом процессоров CISC. Многие компании не хотели рисковать с появляющейся технологией RISC. Без коммерческого интереса разработчики процессоров не могли производить микросхемы RISC в достаточно больших объемах, чтобы сделать их цену конкурентоспособной.

Еще одной серьезной неудачей стало присутствие Intel. Хотя их CISC-чипы становились все более громоздкими и трудными в разработке, у Intel были ресурсы, необходимые для разработки и производства мощных процессоров. Хотя чипы RISC могли превзойти усилия Intel в определенных областях, различия были недостаточно велики, чтобы убедить покупателей изменить технологии.

Tэта страница содержит примеры ответов на тест по главе 1 книги Введение в программирование с использованием Java. Обратите внимание, что обычно существует множество правильных ответов на заданный вопрос.

Одним из компонентов компьютера является его ЦП. Что такое ЦП и какую роль он играет в компьютере?

ЦП или центральный процессор — это активная часть компьютера. Его функция заключается в выполнении программ, написанных на машинном языке и хранящихся в основной памяти (ОЗУ) компьютера. Он делает это, повторяя цикл выборки и выполнения снова и снова; то есть он многократно извлекает инструкцию машинного языка из памяти и выполняет ее.

Объясните, что подразумевается под "асинхронным событием". Приведите несколько примеров.

Асинхронное событие — это событие, которое происходит в непредсказуемое время вне контроля программы, запущенной ЦП. Он не "синхронизируется" с программой. Например, когда пользователь нажимает клавишу на клавиатуре или щелкает кнопку мыши. (Эти события генерируют «прерывания», которые заставляют ЦП прерывать свою работу и предпринимать некоторые действия для обработки асинхронного события. После обработки события ЦП возвращается к тому, что он делал до того, как оно было прервано.)

В чем разница между "компилятором" и "интерпретатором"?

Компиляторы и интерпретаторы имеют схожие функции: они берут программу, написанную на некотором языке программирования, и переводят ее на машинный язык. Компилятор выполняет перевод сразу. Он создает полную программу на машинном языке, которую затем можно выполнить. Интерпретатор, с другой стороны, просто переводит одну инструкцию за раз, а затем немедленно выполняет эту инструкцию. (Java использует компилятор для перевода программ Java в байт-код Java, который является машинным языком для воображаемой виртуальной машины Java. Затем программы байт-кода Java выполняются интерпретатором.)

Объясните разницу между языками высокого уровня и машинным языком.

Программы, написанные на машинном языке определенного типа компьютера, могут напрямую выполняться процессором этого типа компьютера. Программы на языке высокого уровня должны быть переведены на машинный язык, прежде чем их можно будет выполнить. (Инструкции машинного языка закодированы в виде двоичных чисел, которые предназначены для использования машиной, а не для чтения или записи людьми. Языки высокого уровня используют синтаксис, который ближе к человеческому языку.)

Если у вас есть исходный код программы Java и вы хотите запустить эту программу, вам потребуются как компилятор, так и интерпретатор. Что делает Java компилятор и что делает интерпретатор Java?

Компилятор Java переводит программы Java на язык, называемый байт-кодом Java. Хотя байт-код похож на машинный язык, он не является машинным языком реального компьютера. Интерпретатор Java используется для запуска скомпилированной программы байт-кода Java. (Каждому типу компьютеров требуется свой собственный интерпретатор байт-кода Java, но все эти интерпретаторы интерпретируют один и тот же язык байт-кода.)

Что такое подпрограмма?

Подпрограмма – это набор инструкций для выполнения какой-либо задачи, которые были сгруппированы вместе и получили имя. Позже, когда эта задача должна быть выполнена, достаточно вызвать подпрограмму, указав ее имя, а не повторять всю последовательность инструкций.

Java – это объектно-ориентированный язык программирования. Что такое объект?

Объект состоит из некоторых данных вместе с набором подпрограмм, которые манипулируют этими данными. (Объект — это своего рода «модуль» или автономный объект, который взаимодействует с остальным миром через четко определенный интерфейс. Объект должен представлять некоторую связную концепцию или объект реального мира.)

Что такое переменная? (Есть четыре разных идеи, связанных с переменными в Java. Постарайтесь упомянуть все четыре аспекта в своем ответе. Подсказка: один из аспектов — это имя переменной.)

Переменная – это ячейка памяти, которой присвоено имя, чтобы на нее можно было легко ссылаться в программе. Переменная содержит значение, которое должно быть определенного типа. Значение может быть изменено в ходе выполнения программы.

Java — это "платформенно-независимый язык". Что это значит?

Программу Java можно один раз скомпилировать в программу Java Bytecode. Затем скомпилированную программу можно запустить на любом компьютере, на котором есть интерпретатор виртуальной машины Java. Другие языки должны быть перекомпилированы для каждой платформы, на которой они будут работать. Суть Java в том, что ее можно выполнять на самых разных компьютерах без перекомпиляции.

Что такое "Интернет"? Приведите несколько примеров его использования. (Какие услуги он предоставляет?)

Интернет – это сеть, объединяющая миллионы компьютеров по всему миру. Компьютеры, подключенные к Интернету, могут взаимодействовать друг с другом. Интернет можно использовать для электронной почты (которая позволяет пользователю одного компьютера отправить сообщение пользователю другого компьютера), обмена файлами (который используется для копирования файлов между компьютерами) и всемирной паутины (которая позволяет пользователю просматривать "страницы" информации, опубликованные на компьютерах по всему миру).

Компьютеры и программное обеспечение идут рука об руку. Компьютеры сильны, потому что они могут делать много вещей, а программы — это то, как мы заставляем компьютеры делать все это.

Видео: что такое программирование?

Компьютерное оборудование

  1. Центральный процессор (ЦП)
  2. Основная память (оперативная память или ОЗУ)
  3. Дополнительные устройства хранения
  4. Устройства ввода
  5. Устройства вывода

ЦП

ЦП — это сердце компьютера. Программа – это последовательность инструкций, хранящихся в оперативной памяти. Когда программа запускается, ЦП получает инструкции и выполняет или следует инструкциям.

Цикл выборки/декодирования/выполнения

  • fetch — получение следующей инструкции из основной памяти.
  • декодировать — определить, какую инструкцию выполнять.
  • выполнить — выполнить инструкцию.

Каждая программа заканчивается последовательностью основных инструкций, состоящих из арифметических и логических операций, а также операций управления потоком.

Арифметические и логические операции включают сложение, вычитание, умножение, деление и сравнение значений (равенство, меньше, больше).

Операции потока управления используются для определения следующей инструкции. Например, в зависимости от инструкции программа может пропустить или перейти к другой части списка инструкций.

Вы узнаете подробности о том, как ЦП обрабатывают инструкции в CS 271, Компьютерная архитектура и язык ассемблера.

Основная память

Основная память или ОЗУ используется для хранения программы во время ее выполнения и для хранения данных, с которыми работает программа.

Сведения об оперативной памяти

  • ЦП может быстро получить доступ к любому месту в ОЗУ.
  • ОЗУ называется энергозависимой памятью. В отличие от постоянного хранилища, когда компьютер выключается или когда программа завершает выполнение, значения, хранящиеся в ОЗУ, стираются.
  • ОЗУ делится на единицы хранения, называемые байтами. Байт — это последовательность из восьми битов.
  • Бит — это наименьший элемент ОЗУ, в нем хранится двоичная цифра, 0 или 1. Каждая программа и каждое значение данных на вашем компьютере хранится в виде последовательностей нулей и ls.

Дополнительное хранилище

Вторичное хранилище обеспечивает длительное и постоянное хранение. В отличие от оперативной памяти, данные, хранящиеся во вторичном хранилище, не исчезают при выключении или перезагрузке компьютера. Наиболее распространенной формой вторичного хранилища для больших компьютеров является дисковый накопитель, но компьютеры могут использовать и другие формы вторичного хранилища, например твердотельные накопители, в которых используются микросхемы памяти, сохраняющие значения данных без питания.

Как и в основной памяти, во вторичном хранилище также хранится информация в виде последовательностей нулей и единиц в виде битов и байтов.

Устройства ввода

Обычно мы думаем о клавиатурах и мышах, но устройства ввода могут включать в себя камеры, микрофоны и многие другие типы различных датчиков, когда вы начинаете думать о компьютерах, встроенных в автомобили, электронику и почти любое электрическое устройство.

Устройства вывода

Информация, которую компьютер отправляет во внешний мир, называется выводом. Если задействован человек, выходные данные обычно отправляются на устройство вывода, такое как экран компьютера или принтер. Не все программы будут выводить данные на устройство вывода. Вместо этого выходные данные могут быть отправлены по компьютерной сети или сохранены в базе данных.

Видео: аппаратное и программное обеспечение

Программы и языки программирования

Как сказано выше, программирование включает в себя создание набора инструкций, которым компьютер будет следовать, чтобы решить проблему или выполнить задачу. Давайте уточним нашу терминологию в этом разделе.

Алгоритмы

Алгоритм задает конечную последовательность четко определенных операций для решения конкретной проблемы или класса проблем. Шаги алгоритма можно описать разными способами, включая слова (также известные как естественный язык), блок-схемы, псевдокод (описанный ниже) и код языка программирования.

По мере увеличения сложности задач важно разрабатывать алгоритмы, которые будут эффективными (т. е. быстрыми) и правильными в том смысле, что они будут давать указанный результат для любых допустимых входных данных. На курсе CS 325 "Анализ алгоритмов" вы узнаете о методах анализа сложности и доказательства правильности.

Превращение алгоритмов в программы

Алгоритм может быть реализован на многих различных компьютерных языках, и одна программа может использовать или реализовывать множество различных алгоритмов. Например, вы можете использовать алгоритм сортировки для упорядочивания сообщений и алгоритм расшифровки для понимания сообщений.

Машинный код, язык ассемблера и компиляторы

ЦП компьютера выполняет инструкции вашей программы. Однако пока вы пишете программу на таком языке, как C++, процессор компьютера может следовать только инструкциям, закодированным как последовательность Os и s. Программный компилятор — это специальная программа, которая преобразует операторы, написанные на языке программирования, в двоичную форму (Os и s>, называемую машинным кодом. Поскольку нам трудно распознать последовательности 0 и 1, существует низкоуровневая (близкая к аппаратной ) язык программирования, называемый языком ассемблера, который использует короткие сокращения и шаблоны для описания того, что должен делать ЦП. Например, оператор ассемблера «MOV AL, 61h;» означает копирование следующего значения (61h, шестнадцатеричное представление 97) в ячейку памяти « АЛ".

Вы узнаете гораздо больше о машинном коде и языке ассемблера в CS 271, Архитектура компьютера и язык ассемблера.

Языки высокого уровня

В этом классе вы изучите C++, язык высокого уровня. Языки высокого уровня — это компьютерные языки, которые скрывают многие низкоуровневые детали компьютерной системы и, как правило, используют более естественные слова и символы по сравнению со словами, такими как «MOV», на языке ассемблера, который является языком низкого уровня.

C++ — один из многих языков высокого уровня. Чтобы увидеть текущую популярность всех компьютерных языков, перейдите в индекс TIOBE.

Исходный код, объектный код и исполняемый код

Исходный код

Когда вы начнете создавать программы в этом классе, вы будете создавать исходный код. Исходный код сохраняется в простом текстовом файле, называемом исходным файлом.

Преобразование исходного кода в исполняемый код

Ваш компьютер не понимает исходный код. Вы должны использовать компилятор для преобразования исходного кода в исполняемый код, который вы можете запустить и запустить на своем компьютере.

Во время преобразования исходного кода в исполняемый файл компилятор C++ создаст объектный код.

Исходный код преобразуется компилятором в так называемый объектный код. Объектный код программы на C++ сохраняется в файлах с суффиксом .o или .obj. На последнем этапе, называемом связыванием, объектные файлы объединяются с любыми библиотечными подпрограммами (подпрограммами, предоставленными языком для использования вами) для создания окончательного исполняемого файла с расширением .exe.

В зависимости от того, как вы компилируете свою программу, вы можете увидеть или не увидеть различные этапы преобразования исходных файлов в исполняемый файл. Например, во многих IDE (интегрированных средах разработки, таких как Visual Studio, Code:: Blocks или XCode) промежуточные шаги выполняются автоматически, поэтому вы можете нажать кнопку «сборка», и исполняемый файл будет создан.

Из чего состоит программа?

Языковые элементы

Большинство языков программирования включают следующие элементы.

Ключевые слова

Ключевые слова – это слова, имеющие особое значение в языке. Их можно использовать только по прямому назначению. Также известны как зарезервированные слова.

Определяемые программистом идентификаторы

Идентификаторы, определяемые программистом, — это слова, которые вы выбираете как программист для определения переменных или процедур программирования.

Операторы

Операторы выполняют операции над одним или несколькими операндами. Операнд — это часть данных. Различные арифметические символы, такие как +, * и /, являются примерами операторов.

Пунктуация

Знаки препинания отмечают начало или конец утверждения или отдельных элементов в списке.

Синтаксис

Правила, которые необходимо соблюдать при построении программы. Эти правила определяют, как вы можете комбинировать ключевые слова, определенные программистом идентификаторы, операторы и знаки препинания.

Специфика C++. Вы начнете изучать элементы языка, характерные для C++, в главе 2.

Строки и операторы

Мы часто думаем, что программы состоят из строк и операторов. Строка — это всего лишь одна строка в программе. Вы можете отображать номера строк в большинстве редакторов исходного кода IDE. В Visual Studio 2013 их необходимо включить, поскольку по умолчанию они отключены. Вы часто будете видеть ссылки на номера строк при компиляции программы и возникновении ошибки.

На снимке экрана показана программа с ошибкой. Когда программа была скомпилирована, выходные данные (серые окна выше) включали «source.cpp(B)», что указывало на то, что проблема была в строке 8 файла с именем source. цена за тысячу показов

Инструкция — это полная инструкция, которая заставляет компьютер выполнить какое-либо действие. Оператор может занимать более одной строки. Значение оператора станет более понятным, как только вы начнете программировать в главе 2.

Переменные

Инструкция — это полная инструкция, которая заставляет компьютер выполнить какое-либо действие. Оператор может занимать более одной строки. Значение оператора станет более понятным, как только вы начнете программировать в главе 2.

Ввод и вывод

Двумя наиболее важными факторами при программировании являются ввод и вывод. Многие программы, которые вы напишете для классных заданий, будут использовать ввод с клавиатуры. Программа запросит ввод, и вы наберете ответ. По мере прохождения программы обучения вы приобретете опыт работы с файлами, базами данных, веб-ресурсами и другими источниками ввода.

Во многих, если не во всех заданиях CS 161, вы будете направлять вывод программы на консоль. Вы не часто видите вывод консоли, если запускаете приложения в Windows или OS X, потому что эти типы прикладных программ используют графические пользовательские интерфейсы (GUI). Однако программирование с графическим интерфейсом добавляет гораздо больше работы по созданию программы, и наша работа в CS 161 состоит в том, чтобы научить вас основам программирования, поэтому мы будем придерживаться консольного вывода.

Пример вывода в консоль

Активность

Выберите хотя бы одно занятие, которое учащиеся могут активно вовлечь в изучение материала. Чем больше, тем лучше!

Просмотреть

Обобщите содержание раздела. Кроме того, не забудьте связать материал с тем, что будет дальше, чтобы помочь учащимся связать этот материал со следующим материалом.

"Программное обеспечение" — это общая категория кода, работающего на оборудовании. Если аппаратное обеспечение — это пианино, то программное обеспечение — это музыка. Обычный случай — это «программа», такая как Firefox — программное обеспечение, которое вы запускаете на своем компьютере для решения конкретной проблемы. Компьютер может запускать несколько программ одновременно и несет ответственность за разделение их памяти.

ЦП понимает низкоуровневый язык "машинного кода" (также известный как "собственный код"). Язык машинного кода встроен в конструкцию аппаратного обеспечения ЦП; это не то, что можно изменить по желанию. Каждое семейство совместимых ЦП (например, очень популярное семейство Intel x86) имеет свой собственный уникальный машинный код, несовместимый с машинным кодом других семейств ЦП.

Что такое программа/приложение?

  • Что такое программа или приложение?
    - напр. Фаерфокс
  • Firefox состоит из миллионов инструкций машинного кода.
    - Запускается сверху вниз (прямо как Javascript!)
    - Появляется окно Firefox (первые 1000 инструкций)
    - Появляются его меню (следующие 1000)
    - Курсор мигает в ожидании ввода
  • Инструкции, при запуске которых выполняются действия "Firefox".
  • Firefox.exe — это файл в файловой системе размером 80 МБ
    («.exe» — это соглашение Windows для названия файла программы)
  • Файл Firefox.exe в основном состоит из инструкций машинного кода.
  • Каждая инструкция имеет размер, скажем, 4 байта
  • Firefox.exe размером 80 МБ содержит около 20 миллионов машинных инструкций.

Машинный код определяет набор отдельных инструкций. Каждая инструкция машинного кода чрезвычайно примитивна, например, сложение двух чисел или проверка того, равно ли число нулю. При сохранении каждая инструкция занимает всего несколько байтов. Когда мы говорили ранее, что ЦП может выполнять 2 миллиарда операций в секунду, мы имели в виду, что ЦП может выполнять 2 миллиарда строк машинного кода в секунду.

Программа, такая как Firefox, состоит из последовательности миллионов очень простых инструкций машинного кода.Немного сложно поверить, что что-то столь богатое и сложное, как Firefox, может быть построено из инструкций, которые просто складывают или сравнивают два числа, но именно так это и работает. Песчаная скульптура может быть богатой и сложной, если смотреть на нее с расстояния, даже если отдельные песчинки чрезвычайно просты.

Как работает программа?

  • ЦП запускает «цикл выборки/выполнения»
    -выбирает одну инструкцию в последовательности,
    -выполняет (запускает) эту инструкцию, например выполнить сложение
    -выбрать следующую инструкцию и т. д.
  • Запустить программу = запустить ЦП, работающий с его 1-й инструкцией,
    он прогоняет весь машинный код, запускает программу,
    программа будет иметь такие инструкции, как "вернуться к шагу 3", чтобы сохранить ее работает
  • Сверхпростые инструкции машинного кода выполняются со скоростью 2 миллиарда операций в секунду.

ЦП выполняет инструкции, используя цикл «выборка-выполнение»: ЦП получает первую инструкцию в последовательности, выполняет ее (добавляя два числа или что-то еще), затем выбирает следующую инструкцию и выполняет ее и так далее. Некоторые инструкции влияют на порядок, в котором ЦП выполняет последовательность инструкций. Например, инструкция может указать ЦП вернуться к более ранней точке в последовательности инструкций (циклы реализованы таким образом) или пропустить следующую инструкцию, если определенное условие истинно (условия if реализованы таким образом). .

Как начинается программа?

  • Файл Firefox.exe содержит свои инструкции (в файловой системе)
  • Чтобы запустить Firefox.exe:
    -Каждая программа получает свою собственную область ОЗУ.
    - Область ОЗУ содержит код программы и данные, с которыми она манипулирует.
    - Байты инструкций копируются из хранения в ОЗУ
    -ЦП получает указание начать работу с первой инструкции
    -Теперь программа работает!

В файловой системе такой файл, как Firefox.exe, просто содержит байты инструкций машинного кода, из которых состоит программа («.exe» — это соглашение Windows, обозначающее файл как программу). Каждая инструкция машинного кода занимает примерно 4 байта, а вся программа представляет собой просто огромную последовательность инструкций.

Когда пользователь дважды щелкает файл программы, чтобы запустить его, по сути, блок байтов инструкций для программы копируется в ОЗУ, а затем ЦП получает указание начать работу с первой инструкции в этой области ОЗУ.

Что запускает Firefox? «Операционная система»

  • Как запустить Firefox?
  • "Операционная система"
    -e.g. Windows, Linux, Android, iOS
  • Операционная система = управление
  • Набор управляющих программ, которые управляют компьютером.
  • Операционная система запускается при первом включении компьютера
  • Управление запуском/остановкой программ
  • Управление оперативной памятью
  • Управление постоянным хранилищем
  • Компьютеры могут запускать несколько программ одновременно
  • Операционная система отслеживает информацию для каждой программы и распределяет ресурсы (например, ОЗУ) между программами.

"Операционная система" компьютера подобна первой управляющей программе, которая начинает работать при первом включении компьютера ("загружается"). Операционная система играет невидимую административную и бухгалтерскую роль за кулисами. Когда ноутбук или телефон запускается, операционная система обычно приводит все в порядок, а затем запускает программу «Проводник файлов», которая отображает доступные программы, меню и т. д., которые показывают пользователю, что доступно, позволяя пользователю перемещаться по программам и запускать их.< /p>

Операционная система поддерживает порядок в фоновом режиме, так что несколько программ могут работать одновременно, что называется "многозадачностью". Операционная система выделяет каждой программе собственную область памяти, поэтому каждая программа обращается только к своим собственным ресурсам... пытаясь ограничить возможности ошибочной или вредоносной программы. Хранение программ отдельно иногда называют «песочницей»... опосредование доступа каждой программы, чтобы она работала независимо, не мешая другим программам или системе в целом. Точно так же каждая программа имеет некоторый доступ к экрану через окно, но эта область вывода отделена от вывода других программ.

Вспомните, что файл .exe или что-то еще — это, по сути, просто файл с инструкциями машинного кода. Когда вы дважды щелкаете программу, операционная система «запускает» программу, выполняя вспомогательные действия по выделению области памяти в ОЗУ для программы, загружая первый раздел машинного кода программы в эту память и, наконец, направляя CPU для запуска этого кода.

Читайте также: