Что такое специальный компьютер
Разработка последующих поколений компьютеров производится на основе больших интегральных схем повышенной степени интеграции, использования оптоэлектронных принципов (лазеры,голография).
Развитие идет также по пути "интеллектуализации" компьютеров, устранения барьера между человеком и компьютером. Компьютеры будут способны воспринимать информацию с рукописного или печатного текста, с бланков, с человеческого голоса, узнавать пользователя по голосу, осуществлять перевод с одного языка на другой.
В компьютерах пятого поколения произойдёт качественный переход от обработки данных к обработке знаний.
Архитектура компьютеров будущего поколения будет содержать два основных блока. Один из них — это традиционный компьютер. Но теперь он лишён связи с пользователем. Эту связь осуществляет блок, называемый термином "интеллектуальный интерфейс". Его задача — понять текст, написанный на естественном языке и содержащий условие задачи, и перевести его в работающую программу для компьютера.
Будет также решаться проблема децентрализации вычислений с помощью компьютерных сетей, как больших, находящихся на значительном расстоянии друг от друга, так и миниатюрных компьютеров, размещённых на одном кристалле полупроводника.
По условиям эксплуатации компьютеры делятся на два типа:
Офисные предназначены для решения широкого класса задач при нормальных условиях эксплуатации.
Индустриальный компьютер
Cпециальные компьютеры служат для решения более узкого класса задач или даже одной задачи, требующей многократного решения, и функционируют в особых условиях эксплуатации. Машинные ресурсы специальных компьютеров часто ограничены. Однако их узкая ориентация позволяет реализовать заданный класс задач наиболее эффективно.
Специальные компьютеры управляют технологическими установками, работают в операционных или машинах скорой помощи, на ракетах, самолётах и вертолётах, вблизи высоковольтных линий передач или в зоне действия радаров, радиопередатчиков, в неотапливаемых помещениях, под водой на глубине, в условиях пыли, грязи, вибраций, взрывоопасных газов и т.п. Существует много моделей таких компьютеров. Познакомимся с одной из них.
Ergotouch
Компьютер Ergotouch (Эрготач) [48] исполнен в литом алюминиевом полностью герметичном корпусе, который легко открывается для обслуживания. Cтенки компьютера поглощают практически все электромагнитные излучения как изнутри, так и снаружи. Машина оборудована экраном, чувствительным к прикосновениям. Компьютер можно, не выключая, мыть из шланга, дезинфицировать, дезактивировать, обезжиривать. Высочайшая надежность позволяет использовать его как средство управления и контроля технологическими процессами в реальном времени. Компьютер легко входит в локальную сеть предприятия.
Важное направление в создании промышленных компьютеров — разработка "операторского интерфейса" — пультов управления, дисплеев, клавиатур и указательных устройств во всевозможных исполнениях. От этих изделий напрямую зависит комфортность и результативность труда операторов.
По производительности и характеру использования компьютеры можно условно подразделить на:
- микрокомпьютеры, в том числе — персональные компьютеры;
- миникомпьютеры;
- мэйнфреймы (универсальные компьютеры);
- суперкомпьютеры.
Микрокомпьютеры — это компьютеры, в которых центральный процессор выполнен в виде микропроцессора.
Продвинутые модели микрокомпьютеров имеют несколько микропроцессоров. Производительность компьютера определяется не только характеристиками применяемого микропроцессора, но и ёмкостью оперативной памяти, типами периферийных устройств, качеством конструктивных решений и др.
Микрокомпьютеры представляют собой инструменты для решения разнообразных сложных задач. Их микропроцессоры с каждым годом увеличивают мощность, а периферийные устройства — эффективность. Быстродействие — порядка 1 — 10 миллионов опеpаций в сек.
Разновидность микрокомпьютера — микроконтроллер. Это основанное на микропроцессоре специализированное устройство, встраиваемое в систему управления или технологическую линию.
Персональные компьютеры (ПК) — это микрокомпьютеры универсального назначения, рассчитанные на одного пользователя и управляемые одним человеком.
В класс персональных компьютеров входят различные машины — от дешёвых домашних и игровых с небольшой оперативной памятью, с памятью программы на кассетной ленте и обычным телевизором в качестве дисплея (80-е годы), до сверхсложных машин с мощным процессором, винчестерским накопителем ёмкостью в десятки Гигабайт, с цветными графическими устройствами высокого разрешения, средствами мультимедиа и другими дополнительными устройствами.
Пеpсональный компьютеp должен удовлетворять следующим требованиям:
- стоимост от нескольких сотен до 5 —10 тыс. долларов;
- наличие внешних ЗУ на магнитных дисках;
- объём оперативной памяти не менее 32 Мбайт;
- наличие операционной системы;
- способность работать с программами на языках высокого уровня;
- ориентация на пользователя-непрофессионала (в простых моделях).
Миникомпьютерами и суперминикомпьютерами называются машины, конструктивно выполненные в одной стойке, т.е. занимающие объём порядка половины кубометра. Сейчас компьютеры этого класса вымирают, уступая место микрокомпьютерам.
Мэйнфреймы предназначены для решения широкого класса научно-технических задач и являются сложными и дорогими машинами. Их целесообразно применять в больших системах при наличии не менее 200 — 300 рабочих мест.
Централизованная обработка данных на мэйнфрейме обходится примерно в 5 — 6 раз дешевле, чем распределённая обработка при клиент-серверном подходе.
Известный мэйнфрейм S/390 фирмы IBM обычно оснащается не менее чем тремя процессорами. Максимальный объём оперативного хранения достигает 342 Терабайт.
Производительность его процессоров, пропускная способность каналов, объём оперативного хранения позволяют наращивать число рабочих мест в диапазоне от 20 до 200000 с помощью простого добавления процессорных плат, модулей оперативной памяти и дисковых накопителей.
Десятки мэйнфреймов могут работать совместно под управлением одной операционной системы над выполнением единой задачи.
Суперкомпьютер CRAY —1
Суперкомпьютеры — это очень мощные компьютеры с производительностью свыше 100 мегафлопов (1 мегафлоп — миллион операций с плавающей точкой в секунду). Они называются сверхбыстродействующими. Эти машины представляют собой многопроцессорные и (или) многомашинные комплексы, работающие на общую память и общее поле внешних устройств. Различают суперкомпьютеры среднего класса, класса выше среднего и переднего края (high end).
Архитектура суперкомпьютеров основана на идеях параллелизма и конвейеризации вычислений.
В этих машинах параллельно, то есть одновременно, выполняется множество похожих операций (это называется мультипроцессорной обработкой). Таким образом, сверхвысокое быстродействие обеспечивается не для всех задач, а только для задач, поддающихся распараллеливанию.
Что такое конвейеpная обработка? Приведем сравнение — на каждом рабочем месте конвейера выполняется один шаг производственного процесса, а на всех рабочих местах в одно и то же время обрабатываются различные изделия на всевозможных стадиях. По такому принципу устроено арифметико-логическое устройство суперкомпьютера.
Отличительной особенностью суперкомпьютеров являются векторные процессоры, оснащенные аппаратурой для параллельного выполнения операций с многомерными цифровыми объектами — векторами и матрицами. В них встроены векторные регистры и параллельный конвейерный механизм обработки. Если на обычном процессоре программист выполняет операции над каждым компонентом вектора по очереди, то на векторном — выдаёт сразу векторые команды.
Векторная аппаратура очень дорога, в частности, потому, что требуется много сверхбыстродействующей памяти под векторные регистры.
Наиболее распространённые суперкомпьютеры — массово-параллельные компьютерные системы. Они имеют десятки тысяч процессоров, взаимодействующих через сложную, иерархически организованую систему памяти.
В качестве примера рассмотрим характеристики многоцелевого массово-параллельного суперкомпьютера среднего класса Intel Pentium Pro 200. Этот компьютер содержит 9200 процессоров Pentium Pro на 200 Мгц, в сумме (теоретически) обеспечивающих производительность 1,34 Терафлоп (1 Терафлоп равен 10 12 операций с плавающей точкой в секунду), имеет 537 Гбайт памяти и диски ёмкостью 2,25 Терабайт. Система весит 44 тонны (кондиционеры для неё — целых 300 тонн) и потребляет мощность 850 кВт. В высокопроизводительных суперкомпьютерах многослойные (несколько десятков слоев проводников) печатные платы с установленными на них кристаллами
Супер-компьютеры используются для решения сложных и больших научных задач (метеорология, гидродинамика и т. п.), в управлении, разведке, в качестве централизованных хранилищ информации и т.д. Стоят они от нескольких миллионов долларов.
Элементная база — микросхемы сверхвысокой степени интеграции.
Портативные компьютеры обычно нужны руководителям предприятий, менеджерам, учёным, журналистам, которым приходится работать вне офиса — дома, на презентациях или во время командировок.
Основные разновидности портативных компьютеров:
Laptop
Laptop (наколенник, от lap> — колено и top — поверх). По размерам близок к обычному портфелю. По основным характеристикам (быстродействие, память) примерно соответствует настольным ПК. Сейчас компьютеры этого типа уступают место ещё меньшим.
Notebook
Notebook (блокнот, записная книжка). По размерам он ближе к книге крупного формата. Имеет вес около 3 кг. Помещается в портфель-дипломат. Для связи с офисом его обычно комплектуют модемом. Ноутбуки зачастую снабжают приводами CD—ROM.
Многие современные ноутбуки включают взаимозаменяемые блоки со стандартными разъёмами. Такие модули предназначены для очень разных функций. В одно и то же гнездо можно по мере надобности вставлять привод компакт-дисков, накопитель на магнитных дисках, запасную батарею или съёмный винчестер. Ноутбук устойчив к сбоям в энергопитании. Даже если он получает энергию от обычной электросети, в случае какого-либо сбоя он мгновенно переходит на питание от аккумуляторов.
Palmtop
Персональный цифровой помощник
Palmtop (наладонник) — самые маленькие современные персональные компьютеры. Умещаются на ладони. Магнитные диски в них заменяет энергонезависимая электронная память. Нет и накопителей на дисках — обмен информацией с обычными компьютерами идет линиям связи. Если Palmtop дополнить набором деловых программ, записанных в его постоянную память, получится персональный цифровой помощник (Personal Digital Assistant).
Карманный компьютер iPAQ 3150
Возможности портативных компьютеров постоянно расширяются. Например, современный карманный компьютер iPAQ 3150 располагает всем необходимым для: ведения списка задач, хранения записок, включая аудиофайлы, работы с календарем, чтения электронной почты, синхронизации с РС, мобильным телефоном. Помимо этого iPAQ позволяет: проигрывать видео и звуковые ролики, бродить по Интернету, просматривать и редактировать документы и электронные таблицы, хранить файлы, искать в них слова, просматривать картинки вести домашнюю бухгалтерию, играть в игры, читать электронные книги с помощью Microsoft Reader, полноценно работать с программным обеспечением.
В последние десятилетия наблюдается чрезвычайно быстрый рост производства средств вычислительной техники, проникающей во все области человеческой деятельности - от космических исследований и производственной сферы до медицины и повседневного быта - в виде автоматизированных и автоматических систем сбора и обработки информации, управления и контроля.
Основной причиной качественно нового этапа развития вычислительной техники послужило появление и широкое внедрение микропроцессорных комплектов интегральных микросхем. Они позволили решить, казалось бы, несовместимые задачи: с одной стороны, резко увеличить скорость обработки информации и объём памяти, с другой - столь же резко уменьшить размеры ЭВМ, их стоимость и энергопотребление.
Вторая причина связана с тем, что средства вычислительной техники стали использовать для сбора, преобразования и хранения информации (справочной, результатов экспериментальных исследований, проектной документации, обучающих программ и т.д.). ЭВМ становились всё более и более универсальными.
Специализированные компьютеры предназначены для решения конкретного круга задач. Такая узкая ориентация компьютеров позволяет четко специализировать их структуру, существенно снизить их сложность и стоимость при сохранении высокой производительности и надежности их работы. Специализация такой машины повышает эффективность средств вычислительной техники, поскольку структурная и аппаратная интерпретация программ способствует повышению точности и быстродействия устройств, упрощает математическое обеспечение, снижает аппаратные затраты.
Специализированные компьютеры отличаются постоянством структуры, определяемой классом решаемых задач, что позволяет существенно упростить коммутационные устройства. Как и другие вычислительные машины, специализированные можно разделить на группы.
К таким компьютерам относятся, например:
Счётные машины, бортовые компьютеры автомобилей, судов, самолетов, космических аппаратов.
Специализированные мини - ЭВМ, ориентированные на работу с графикой, называют графическими станциями. Их используют при подготовке кино - и видеофильмов, а также рекламной продукции. Специализированные компьютеры, объединяющие компьютеры предприятия в одну сеть, называют файловыми серверами. Компьютеры, обеспечивающие передачу информации между различными участниками всемирной компьютерной сети, называют сетевыми серверами.
Кспециализированным компьютерам можно отнести, например, программируемые микропроцессоры специального назначения, адаптеры и контроллеры, выполняющие логические функции управления отдельными несложными техническими устройствами, агрегатами и процессами, устройства согласования и сопряжения работы узлов вычислительных систем.
С момента появления первых компьютеров одной из основных проблем, стоящих перед разработчиками, была производительность вычислительной системы. За время развития компьютерной индустрии производительность процессора стремительно возрастала, однако появление все более изощренного программного обеспечения, рост числа пользователей и расширение сферы приложения вычислительных систем предъявляют новые требования к мощности используемой техники, что и привело к появлению суперкомпьютеров.
Суперкомпьютер – специализированная вычислительная машина, значительно превосходящая по своим техническим параметрам и скорости вычислений большинство существующих в мире компьютеров.
Суперкомпьютеры используются во всех сферах, где для решения задачи применяется численное моделирование; там, где требуется огромный объём сложных вычислений, обработка большого количества данных в реальном времени, или решение задачи может быть найдено простым перебором множества значений множества исходных параметров.
Совершенствование методов численного моделирования происходило одновременно с совершенствованием вычислительных машин: чем сложнее были задачи, тем выше были требования к создаваемым машинам; чем быстрее были машины, тем сложнее были задачи, которые на них можно было решать. Поначалу суперкомпьютеры применялись почти исключительно для оборонных задач: расчёты по ядерному и термоядерному оружию, ядерным реакторам. Потом, по мере совершенствования математического аппарата численного моделирования, развития знаний в других сферах науки — суперкомпьютеры стали применяться и в «мирных» расчётах, создавая новые научные дисциплины, как то: численный прогноз погоды, вычислительная биология и медицина, вычислительная химия, вычислительная гидродинамика, вычислительная лингвистика и проч., — где достижения информатики сливались с достижениями прикладной науки.
Производительность суперкомпьютеров чаще всего оценивается и выражается в количестве операций над числами с плавающей точкой в секунду (FLOPS). Это связано с тем, что задачи численного моделирования, под которые и создаются суперкомпьютеры, чаще всего требуют вычислений, связанных с вещественными числами, зачастую с высокой степенью точности, а не целыми числами. Поэтому для суперкомпьютеров неприменима мера быстродействия обычных компьютерных систем — количество миллионов операций в секунду (MIPS). При всей своей неоднозначности и приблизительности, оценка во флопсах позволяет легко сравнивать суперкомпьютерные системы друг с другом, опираясь на объективный критерий.
Программное обеспечение суперкомпьютеров
Наиболее распространёнными программными средствами суперкомпьютеров, так же, как и параллельных или распределённых компьютерных систем, являются интерфейсы программирования приложений (API) на основе MPI и PVM, и решения на базе открытого программного обеспечения, наподобие Beowulf и openMosix, позволяющего создавать виртуальные суперкомпьютеры даже на базе обыкновенных рабочих станций и персональных компьютеров. Для быстрого подключения новых вычислительных узлов в состав узкоспециализированных кластеров применяются технологии наподобие ZeroConf. Примером может служить реализация рендеринга в программном обеспечении Shake, распространяемом компанией Apple. Для объединения ресурсов компьютеров, выполняющих программу Shake, достаточно разместить их в общем сегменте локальной вычислительной сети.
В настоящее время границы между суперкомпьютерным и общеупотребимым программным обеспечением сильно размыты и продолжают размываться ещё более вместе с проникновением технологий параллелизации и многоядерности в процессорные устройства персональных компьютеров и рабочих станций. Исключительно суперкомпьютерным программным обеспечением сегодня можно назвать лишь специализированные программные средства для управления и мониторинга конкретных типов компьютеров, а также уникальные программные среды, создаваемые в вычислительных центрах под «собственные», уникальные конфигурации суперкомпьютерных систем.
Классификация по уровню специализации. По уровню специализации компьютеры делят на универсальные и специализированные. На базе универсальных компьютеров можно собирать вычислительные системы произвольного состава (состав компьютерной системы называется конфигурацией). Так, например, один и тот же персональный компьютер можно использовать для работы с текстами, музыкой, графикой, фото- и видеоматериалами.
Специализированные компьютеры предназначены для решения конкретного круга задач. К таким компьютерам относятся, например, бортовые компьютеры автомобилей, судов, самолетов, космических аппаратов. Компьютеры, интегрированные в бытовую технику, например в стиральные машины, СВЧ-плиты и видеомагнитофоны, тоже относятся к специализированным. Бортовые компьютеры управляют средствами ориентации и навигации, осуществляют контроль состояния бортовых систем, выполняют некоторые функции автоматического управления и связи, а также большинство функций оптимизации параметров работы систем объекта (например, оптимизацию расхода топлива объекта в зависимости от конкретных условий движения). Специализированные мини-ЭВМ, ориентированные на работу с графикой, называют графическими станциями. Их используют при подготовке кино- и видеофильмов, а также рекламной продукции. Специализированные компьютеры, объединяющие компьютеры предприятия в одну сеть, называют файловыми серверами. Компьютеры, обеспечивающие передачу информации между различными участниками всемирной компьютерной сети, называют сетевыми серверами.
Во многих случаях с задачами специализированных компьютерных систем могут справляться и обычные универсальные компьютеры, но считается, что использование специализированных систем все-таки эффективнее. Критерием оценки эффективности выступает отношение производительности оборудования к величине его стоимости.
Классификация по типоразмерам. Персональные компьютеры можно классифицировать по типоразмерам. Так, различают настольные (desktop), портативные (notebook), карманные (palmtop) модели. Совсем недавно появились устройства, сочетающие возможности карманных персональных компьютеров и устройств мобильной связи. По-английски они называются PDA, Personal Digital Assistant. Пользуясь тем, что в русском языке за ними пока не закрепилось какое-либо название, мы будем называть их мобильными вычислительными устройствами (МВУ).
Настольные модели распространены наиболее широко. Они являются принадлежностью рабочего места. Эти модели отличаются простотой изменения конфигурации за счет несложного подключения дополнительных внешних приборов или установки дополнительных внутренних компонентов. Достаточные размеры корпуса в настольном исполнении позволяют выполнять большинство подобных работ без привлечения специалистов, а это позволяет настраивать компьютерную систему оптимально для решения именно тех задач, для которых она была приобретена.
Карманные модели выполняют функции “интеллектуальных записных книжек”. Они позволяют хранить оперативные данные и получать к ним быстрый доступ. Некоторые карманные модели имеют жестко встроенное программное обеспечение, что облегчает непосредственную работу, но снижает гибкость в выборе прикладных программ.
Мобильные вычислительные устройства сочетают в себе функции карманных моделей компьютеров и средств мобильной связи (сотовых радиотелефонов). Их отличительная особенность — возможность мобильной работы с Интернетом, а в ближайшем будущем и возможность приема телевизионных передач. Дополнительно МВУ комплектуют средствами связи но инфракрасному лучу, благодаря которым эти карманные устройства могут обмениваться данными с настольными ПК и друг с другом.
Классификация по совместимости. В мире существует множество различных видов и типов компьютеров. Они выпускаются разными производителями, собираются из разных деталей, работают с разными программами. При этом очень важным вопросом становится совместимость различных компьютеров между собой. От совместимости зависит взаимозаменяемость узлов и приборов, предназначенных для разных компьютеров, возможность переноса программ с одного компьютера на другой и возможность совместной работы разных типов компьютеров с одними и теми желанными.
Аппаратная совместимость. По аппаратной совместимости различают так называемые аппаратные платформы. В области персональных компьютеров сегодня наиболее широко распространены две аппаратные платформы: IBM PC и Apple Macintosh. Кроме них существуют и другие платформы, распространенность которых ограничивается отдельными регионами или отдельными отраслями. Принадлежность компьютеров к одной аппаратной платформе повышает совместимость между ними, а принадлежность к разным платформам — понижает.
Кроме аппаратной совместимости существуют и другие виды совместимости: совместимость на уровне операционной системы, программная совместимость, совместимость на уровне данных.
Классификация по типу используемого процессора. Процессор — основной компонент любого компьютера. В электронно-вычислительных машинах это специальный блок, а в персональных компьютерах — специальная микросхема, которая выполняет все вычисления. Даже если компьютеры принадлежат одной аппаратной платформе, они могут различаться по типу используемого процессора. Основные типы процессоров для платформы IBM PC мы рассмотрим в соответствующем разделе, а здесь укажем на то, что тип используемого процессора в значительной (хотя и не в полной) мере характеризует технические свойства компьютера.
Меня зовут Андрей Артемьев, я работаю в Microsoft над ядром ОС Windows 10, ранее я работал над Windows 10x (WCOS), XBox, Windows Phone и Microsoft Edge. Я хочу популярно в образовательных целях рассказать о том как работает компьютер на примере клавиатурного ввода и Windows 10. Данный цикл статей рассчитан в первую очередь на студентов технических специальностей. Мы рассмотрим какой путь проходит информация о нажатой клавише от клавиатуры до отображения в Notepad.exe. В виду обширности и междисциплинарности темы в статьях могут быть неточности, о которых сообщайте в комментариях. Какая-то информация может быть устаревшей в виду скорости с которой развивается Windows.
Компьютеры общего назначения
Компьютеры общего назначения предназначены для того, чтобы могли работать приложения системы. Программы выполняют самые разные роли, моделирование, решение математических уравнений, расчет заработной платы, персональная база данных, обработка текстов и многие другие задачи. Подобные компьютеры широко классифицируются как микрокомпьютеры, мини-компьютеры, мэйнфреймы и суперкомпьютеры.
Сейчас подробнее поговорим о каждом подтипе.
Супер Компьютеры
Суперкомпьютер
Суперкомпьютер — это компьютер, который работает на максимальной скорости, которая в настоящее время установлена для компьютеров. Традиционно суперкомпьютеры использовались для научных и инженерных приложений, которые должны обрабатывать очень большие объемы данных или выполнять большое количество вычислений (или все вместе). Хотя такие достижения, как многоядерные процессоры и GPGPU (графические процессоры общего назначения), позволили использовать мощные машины для личного использования. По определению суперкомпьютер является исключительным с точки зрения производительности.
Во все времена выделяют несколько широко известных суперкомпьютеров, которые работают на самых высоких скоростях по сравнению со всеми остальными компьютерами. Этот термин также иногда применяется к гораздо более медленным (но все еще впечатляюще быстрым) компьютерам. В список самых больших и мощных суперкомпьютеров входит список машин которые можно пересчитать по пальцам.
В общем, существует два подхода параллельной обработки: симметричная многопроцессорная обработка (SMP) и массивно-параллельная обработка (MPP).
По состоянию на июнь 2016 года самым быстрым суперкомпьютером в мире был Sunway TaihuLight в городе Уйшу в Китае. Немного статистики о TaihuLight:
- 40 960 64-битных RISC-процессоров с 260 ядрами каждый;
- Пиковая производительность 125 петафлопс (квадриллион операций с плавающей запятой в секунду);
- 32 ГБ памяти DDR3 на вычислительный узел, всего 1,3 ПБ памяти;
- Операционная система Sunway Raise на базе Linux;
Известные суперкомпьютеры на протяжении всей истории:
Первый коммерчески успешный суперкомпьютер, CDC (Control Data Corporation) 6600 был разработан Seymour Cray. Выпущенный в 1964 году CDC 6600 имел один ЦП и стоил 8 миллионов долларов — сегодня эквивалент 60 миллионов долларов. CDC может обрабатывать три миллиона операций с плавающей запятой в секунду (флопс).
Крэй основал суперкомпьютерную компанию под своим именем в 1972 году. Хотя компания несколько раз переходила из рук в руки, она все еще действует. В сентябре 2008 года Cray и Microsoft запустили CX1, персональный суперкомпьютер стоимостью 25 000 долларов США, предназначенный для таких рынков, как аэрокосмическая, автомобильная, академическая, финансовая сфера и науки о жизни.
IBM была острым конкурентом. Компании Roadrunner , когда топ-рейтинг суперкомпьютеров, была в два раза быстрее, чем от IBM Blue Gene и в шесть раз быстрее, чем любой из других суперкомпьютеров в то время. Уотсон из IBM известен тем, что принял когнитивные вычисления, чтобы победить чемпиона Кена Дженнингса в Jeopardy !, популярной викторине.
Из чего состоит Windows?
Абстракция или же разбиение на компоненты есть во всех сферах программирования и интуитивно понятно что Windows тоже делится на какие-то компоненты. Под компонентом понимается какая-то единица функциональности — ООП класс, файл, dll, папка. Компоненты на диаграмме ниже могут быть как индивидуальными *.sys, *.dll файлами, так и просто набором API сгруппированным логически через добавление префикса к имени функции, старая часть системы написана на C, а он не поддерживает классы. Новые части пишутся нередко на C++. В укрупнённом виде Винда выглядит так:
Давайте быстренько пробежимся по её компонентам снизу вверх:
- Hyper-V Hypervisor — слой виртуализации благодаря которому в Windows можно создать виртуальную машину. Иногда говорят, что Hyper-V это минус первый уровень привилегий, однако реализован он в одном уровне привилегий и адресном пространстве что и ядро ОС, за счёт использования слоёной архитектуры ОС ничего не знает о нём.
- HAL.dll — Hardware Abtraction Layer — изначально задумывался как абстракция над железом — чипсет, материнская плата, процессор — для того чтобы можно было перенести Windows на новую платформу реализовав новый HAL.dll, который будет выбран и скопирован во время установки. По сути это драйвер к устройствам материнской платы, к примеру таймерам, контроллеру прерываний. Сейчас его роль снижена, потому как многие драйвера материнки и чип-сета реализованы в ACPI.sys.
Компьютеры подразделяются на два типа, а именно компьютеры специального назначения и компьютеры общего назначения, в зависимости от их использования. Можно также классифицировать их, как аналоговые и цифровые компьютеры, в соответствии с их базовым техническим проектом. Современные компьютеры — это все цифровые компьютеры.
Насколько глубоко мы погрузимся в тему?
Давайте для начала в общих чертах поговорим об уровнях на которых можно рассматривать компьютер. Каждый уровень основывается на предыдущем. Начнём с самого верха.
Уровень операционной системы. ОС можно рассматривать как:
- Менеджер ресурсов — память, жёсткие диски, принтеры, экран, клавиатура ограниченные ресурсы которые совместно используются запущенными на компьютере программами.
- Виртуальная машина — файл это наглядный пример виртуального объекта. Он представляет абстракцию данных на диске, API для работы с ним и так же добавляет концепцию прав доступа. Вместо файла могла быть концепция контейнера данных и совершенно другого API. Таких виртуальных объектов в ОС много.
- Платформа — ОС предоставляет программные модели и примитивы для построения программ. К примеру Windows Drivers Framework позволяет быстро разрабатывать драйвера, окна в Windows используются для построения сложных пользовательских интерфейсов. Dll — предоставляет модель расширения функционала программы через плагины, а так же механизм для реализации читалки экрана через ловушки клавиатуры (см. LowLevelKeyboard hook).
Уровень архитектуры компьютера. Он представлен материнской платой, которая имеет определённый форм-фактор, встроенные функции закодированные в микросхемах называемых чип-сетом и порты, через которые можно расширять функционал компьютера подключив графическую карту, сетевую карту, дополнительную оперативную память (RAM), жёсткие диски, клавиатуру и пр. Порты влияют на скорость работы и возможности компьютера, что и будет определять его назначение будь то сервер для обработки тысяч запросов в секунду, планшет для пользования Интернетом или игровой ПК с несколькими видеокартами. ОС абстрагирует особенности материнской платы.
Микросхемы выглядят как на картинке ниже и представляют собой мини-компьютер выполняющий простые программы для низкоуровневых задач, к примеру прочитать данные от клавиатуры и передать их дальше чтобы они достигли в конечном счёте процессора. Как правило реализованы в виде аналоговой непрограммируемой микросхемы или микроконтроллера, программируемого на языке С.
Материнскую плату можно рассматривать как колонию микросхем которые общаются между собой через шины и через них циркулируют данные от подключенных устройств к процессору и обратно. Чип-сет — это своего рода нервная система компьютера. Все чипы на материнской плате были изначально созданы чтобы работать друг с другом. Некоторые из них могут иметь особые функции, к примеру таймер или хранение настроек BIOS. Пожалуй самый важный из них тот что имеет встроенную программу (прошивку, BIOS, UEFI) которая начинает выполняться как только появляется электричество. Она находит жёсткий диск с загрузчиком Windows и передаёт тому управление который в свою очередь запускает исполняемый файл ОС, который можно назвать Windows10.exe, на самом деле NtOsKrnl.exe. BIOS знает что искать благодаря соглашению между производителями железа и операционных систем.
Вокруг материнской платы можно собрать мобильный телефон, игровую приставку, серверную станцию или умное устройство. На картинке ниже распространённые форм-факторы материнских плат.
Уровень микроархитектуры представлен процессором (CPU), это сердце материнки и весь чип-сет нужен для обслуживания CPU. Процессор это компьютер в компьютере, более мощный и продвинутый микроконтроллер которому не нужна прошивка, потому как поток команд подаётся на лету, когда планировщик потоков поменял контекст процессора. Функционал процессора делится на подсистемы, к примеру компонент занимающийся математическими и логическими операциями, математический сопроцессор, кэш. Какие-то из них раньше были отдельным чипом на материнской плате, но сейчас их сделали частью ЦПУ, например контроллер прерывания и микросхема под названием “Северный мост” что увеличило скорость работы.
Микроархитектура это не то же самое что архитектура. Весь функционал CPU разделён на компоненты, которые работают сообща. Эти компоненты и их взаимодействие и есть микроархитектура. На блок-схеме ниже они представлены цветными прямоугольниками и квадратиками.
Архитектура процессора это по сути документ который описывает какой функциональностью он должен обладать для того чтобы соответствовать к примеру архитектуре x86, x64 или ARM применяемой на мобильных устройствах. В этом документе описано какие должны поддерживаться команды, назначения регистров и логика работы. Создатели процессоров Intel, AMD, Эльбрус могут реализовывать эту функциональность как угодно и добавлять к ней новые возможности в виде команд, регистров, флагов, прерываний и если ОС знает о них то может использовать. В терминах ООП архитектура ЦПУ — это интерфейс, а микроархитектура — его реализация.
Логические схемы. Цветные прямоугольники с блок-схемы CPU состоят из логических схем, которые производят свои операции на последовательностях нулей и единиц. Процессор видит все данные и команды в виде битов (0 и 1), по формуле любое десятичное число можно представить в виде последовательности 0 и 1, а вот что значит конкретное число зависит от контекста. Это может быть код, цифра, буква. Арифметическое и логическое устройство (ALU) умеет производить сложение двух чисел через побитовые операции. Побитовые алгоритмы сложения, вычитания, умножения и деления давно известны, разработчикам логической схемы их только надо эффективно реализовать.
Уровень радиоэлементов. Физически аналоговые схемы полагаются на радиоэлементы, которые собственно и эксплуатируют законы физики. Преимущественно это полупроводники, т.е. в определённых условиях они могут проводить электричество, а могут и нет. Диод проводит ток только в одном направлении, если его выпаять, развернуть на 180 и впаять обратно, то ток через него проходить не будет. Транзистор пропускает ток только если есть напряжение на управляющей ножке. Человечество научилось делать транзисторы микроскопическими и потому их можно размещать на маленькой плате миллионами. На картинках ниже полупроводниковые радиоэлементы и обычный транзистор рядом с нано транзистором под электронным микроскопом.
Уровень законов физики. И наконец самый нижний уровень — это уровень законов физики которые заключены в полупроводниковые радиоэлементы.
Мы будем много говорить про уровень ОС и чуть меньше про архитектуру компьютера, микроархитектуру, аналоговые схемы и радиоэлементы. К последней части у вас должно быть понимание как это всё работает вместе.
Мини Компьютеры
Миникомпьютер — это тип компьютера, который обладает большинством функций и возможностей большого компьютера, но имеет меньшие физические размеры. Обычно предназначен для одновременного обслуживания нескольких пользователей и используется для приложений большого объема.
Миникомпьютер заполняет пространство между мэйнфреймом и микрокомпьютером. Он меньше первого, но больше второго. Такая машина в основном используются в качестве серверов малого или среднего уровня, выполняющая задачи научного или делового характера.
Однако термин «миникомпьютер! используют уже не так часто.
История
Миникомпьютеры появились в середине 1960-х годов и были впервые разработаны корпорацией IBM. Они были предназначены в первую очередь для бизнес-приложений и служб, которые требуют производительности и эффективности мэйнфреймов.
Миникомпьютеры могут содержать один или несколько процессоров, поддерживать многопроцессорность и многозадачность и, как правило, устойчивы к высоким нагрузкам.
Насколько глубоко мы погрузимся в тему?
Давайте для начала в общих чертах поговорим об уровнях на которых можно рассматривать компьютер. Каждый уровень основывается на предыдущем. Начнём с самого верха.
Уровень операционной системы. ОС можно рассматривать как:
- Менеджер ресурсов — память, жёсткие диски, принтеры, экран, клавиатура ограниченные ресурсы которые совместно используются запущенными на компьютере программами.
- Виртуальная машина — файл это наглядный пример виртуального объекта. Он представляет абстракцию данных на диске, API для работы с ним и так же добавляет концепцию прав доступа. Вместо файла могла быть концепция контейнера данных и совершенно другого API. Таких виртуальных объектов в ОС много.
- Платформа — ОС предоставляет программные модели и примитивы для построения программ. К примеру Windows Drivers Framework позволяет быстро разрабатывать драйвера, окна в Windows используются для построения сложных пользовательских интерфейсов. Dll — предоставляет модель расширения функционала программы через плагины, а так же механизм для реализации читалки экрана через ловушки клавиатуры (см. LowLevelKeyboard hook).
Уровень архитектуры компьютера. Он представлен материнской платой, которая имеет определённый форм-фактор, встроенные функции закодированные в микросхемах называемых чип-сетом и порты, через которые можно расширять функционал компьютера подключив графическую карту, сетевую карту, дополнительную оперативную память (RAM), жёсткие диски, клавиатуру и пр. Порты влияют на скорость работы и возможности компьютера, что и будет определять его назначение будь то сервер для обработки тысяч запросов в секунду, планшет для пользования Интернетом или игровой ПК с несколькими видеокартами. ОС абстрагирует особенности материнской платы.
Микросхемы выглядят как на картинке ниже и представляют собой мини-компьютер выполняющий простые программы для низкоуровневых задач, к примеру прочитать данные от клавиатуры и передать их дальше чтобы они достигли в конечном счёте процессора. Как правило реализованы в виде аналоговой непрограммируемой микросхемы или микроконтроллера, программируемого на языке С.
Материнскую плату можно рассматривать как колонию микросхем которые общаются между собой через шины и через них циркулируют данные от подключенных устройств к процессору и обратно. Чип-сет — это своего рода нервная система компьютера. Все чипы на материнской плате были изначально созданы чтобы работать друг с другом. Некоторые из них могут иметь особые функции, к примеру таймер или хранение настроек BIOS. Пожалуй самый важный из них тот что имеет встроенную программу (прошивку, BIOS, UEFI) которая начинает выполняться как только появляется электричество. Она находит жёсткий диск с загрузчиком Windows и передаёт тому управление который в свою очередь запускает исполняемый файл ОС, который можно назвать Windows10.exe, на самом деле NtOsKrnl.exe. BIOS знает что искать благодаря соглашению между производителями железа и операционных систем.
Вокруг материнской платы можно собрать мобильный телефон, игровую приставку, серверную станцию или умное устройство. На картинке ниже распространённые форм-факторы материнских плат.
Уровень микроархитектуры представлен процессором (CPU), это сердце материнки и весь чип-сет нужен для обслуживания CPU. Процессор это компьютер в компьютере, более мощный и продвинутый микроконтроллер которому не нужна прошивка, потому как поток команд подаётся на лету, когда планировщик потоков поменял контекст процессора. Функционал процессора делится на подсистемы, к примеру компонент занимающийся математическими и логическими операциями, математический сопроцессор, кэш. Какие-то из них раньше были отдельным чипом на материнской плате, но сейчас их сделали частью ЦПУ, например контроллер прерывания и микросхема под названием “Северный мост” что увеличило скорость работы.
Микроархитектура это не то же самое что архитектура. Весь функционал CPU разделён на компоненты, которые работают сообща. Эти компоненты и их взаимодействие и есть микроархитектура. На блок-схеме ниже они представлены цветными прямоугольниками и квадратиками.
Архитектура процессора это по сути документ который описывает какой функциональностью он должен обладать для того чтобы соответствовать к примеру архитектуре x86, x64 или ARM применяемой на мобильных устройствах. В этом документе описано какие должны поддерживаться команды, назначения регистров и логика работы. Создатели процессоров Intel, AMD, Эльбрус могут реализовывать эту функциональность как угодно и добавлять к ней новые возможности в виде команд, регистров, флагов, прерываний и если ОС знает о них то может использовать. В терминах ООП архитектура ЦПУ — это интерфейс, а микроархитектура — его реализация.
Логические схемы. Цветные прямоугольники с блок-схемы CPU состоят из логических схем, которые производят свои операции на последовательностях нулей и единиц. Процессор видит все данные и команды в виде битов (0 и 1), по формуле любое десятичное число можно представить в виде последовательности 0 и 1, а вот что значит конкретное число зависит от контекста. Это может быть код, цифра, буква. Арифметическое и логическое устройство (ALU) умеет производить сложение двух чисел через побитовые операции. Побитовые алгоритмы сложения, вычитания, умножения и деления давно известны, разработчикам логической схемы их только надо эффективно реализовать.
Уровень радиоэлементов. Физически аналоговые схемы полагаются на радиоэлементы, которые собственно и эксплуатируют законы физики. Преимущественно это полупроводники, т.е. в определённых условиях они могут проводить электричество, а могут и нет. Диод проводит ток только в одном направлении, если его выпаять, развернуть на 180 и впаять обратно, то ток через него проходить не будет. Транзистор пропускает ток только если есть напряжение на управляющей ножке. Человечество научилось делать транзисторы микроскопическими и потому их можно размещать на маленькой плате миллионами. На картинках ниже полупроводниковые радиоэлементы и обычный транзистор рядом с нано транзистором под электронным микроскопом.
Уровень законов физики. И наконец самый нижний уровень — это уровень законов физики которые заключены в полупроводниковые радиоэлементы.
Мы будем много говорить про уровень ОС и чуть меньше про архитектуру компьютера, микроархитектуру, аналоговые схемы и радиоэлементы. К последней части у вас должно быть понимание как это всё работает вместе.
Микрокомпьютеры
Микро-компьютер
Микрокомпьютеры (персональные компьютеры) предназначены для использования одним человеком. Они дешевы в стоимости, просты в использовании и могут быть использованы даже в домашних условиях. Хотя в однопользовательской системе они могут быть связаны с другими компьютерными системами, следовательно, они образуют очень важный сегмент интегрированной информационной системы.
Микрокомпьютер — это компьютер с центральным процессором (ЦП) в качестве микропроцессора. Разработанный для индивидуального использования, микрокомпьютер меньше, чем мэйнфрейм или миникомпьютер.
Термин микрокомпьютер используется не так широко, как это было в 1970–1980-х годах. Теперь мы называем микрокомпьютеры просто компьютерами или персональными компьютерами (ПК).
Центральный процессор микрокомпьютера включает в себя оперативную память (RAM), постоянную память (ROM), порты ввода / вывода (I / O), соединительные провода и материнскую плату.
В 1970 году Hewlett-Packard (HP) произвела и выпустила микрокомпьютер в качестве калькулятора с различными уровнями программируемости, хотя Datapoint 2200 от Computer Terminal Corporation (CTC) считается первым микрокомпьютером. Семейство процессоров Intel x86 также можно проследить до выпуска CTC.
Специального назначения
Компьютеры специального назначения спроектированы и построены исключительно для удовлетворения требований по конкретной задаче. Под компьютерами специального назначения понимаются компьютеры, созданные для выполнения определенных задач, например, банкоматы или стиральные машины. Компьютеры специального назначения также включают в себя системы управления военными самолетами, катерами, оборудованием для наблюдения и другими приложениями, ориентированными на оборону. Они используют уникальные операционные системы, которые предназначены для выполнения своих конкретных функций.
Наиболее распространенным примером компьютера специального назначения, как уже упоминалось, является стиральная машина. Полностью автоматическая стиральная машина имеет встроенный компьютер. Он получает инструкцию через несколько переключателей на панели управления и работает соответственно. Датчики в машине постоянно сообщают компьютеру о весе одежды, уровне воды, времени встряхивания и т. д. Соответственно, компьютер должен принять несколько решений и контролировать процесс выполнения задачи и ее завершения.
Другие примеры компьютеров специального назначения включают системы управления светофорами, тренажеры для прогнозирования погоды, системы разведки нефти и компьютеры управления движением. Эти компьютерные системы имеют схожие характеристики, но их дизайн призван выполнять определенную роль.
Они выполняют особую функцию, позволяя им устранить избыточную память и объем информации, которая может быть передана в нее. Это позволяет специализированным компьютерам работать на повышенной скорости, чтобы выполнить свою задачу.
Компьютеры специального назначения бывают разных форм. Самые ранние модели были ориентированы исключительно на обработку текста или автономные функции обработки данных. Эти типы компьютеров сильно отличаются от коммерческих моделей, которые предлагают различные приложения, такие как просмотр Интернета, обработка текстов, создание электронных таблиц, электронная почта и игры.
Компьютеры специального назначения имеют логическую структуру и устройства ввода-вывода данных, которые созданы для эффективного решения строго определенных задач. Компьютеры специального назначения используют встроенные системы или другие уникальные операционные платформы для работы независимо от других функций.
Кстати, банкомат также является примером специального компьютера.
Вот примерно и все, что можно было рассказать про типы компьютеров. Делитесь статьей в социальных сетях и подписывайтесь на группы Вконтакте и Твиттер.
Основы Операционной Системы
Когда мы проходили в универе программирование на ассемблере у многих студентов был ступор от таких умных слов как “режимы ядра и пользователя”, под которыми на самом деле скрывается хорошо всем известная ролевая система аутентификации, на всех сайтах есть как минимум “Админ” имеющий доступ ко всем страницам и “Пользователь” имеющий ограниченный доступ. Точно так же роль “Ядро” имеет доступ ко всем возможностям CPU, а роль “Пользователь” может вызывать не все команды процессора и не со всеми аргументами. Поверх этой ролевой модели по принципу клиент-серверной архитектуры построена операционная система, где сервер это ядро, которое и реализовывает функционал ОС, а клиент — это пользовательские программы. В мире Web клиент и сервер разделены физически — это два разных компьютера общающихся по сети. В ОС клиент и сервер живут на одной машине и на одном железе. У сервера есть некий API который позволяет клиентам изменять его состояние, к примеру Twitter API позволяет создавать посты, логиниться и загружать ленту твитов в мобильный клиент. У Windows есть Win API, только более громоздкий в виду более широкого круга задач, на сегодняшний день у винды примерно 330 000 API плюс API для UWP apps. Если концепции Твитера более менее всем понятны — пост, пользователь, фид — то концепции ОС могут потребовать некоторого углубления в её внутренности. Поэтому API Windows могут быть трудно понятными без понимания внутреннего устройства ОС.
На самом деле под ядром понимают три разные вещи. Ядро как весь код ОС. Ядро как подсистема которая отвечает за механизмы ОС, такие как планировщик потоков, переключение контекста, обработка прерываний, свап виртуальный памяти на физическую (Kernel) и ядро подсистемы для поддержки других ОС — CSRSS.exe (Windows), PSXSS.exe (POSIX), OS2SS.exe (OS/2) или WSL (Windows SubSystem for Linux). В данном контексте понимается первый смысл — весь код ОС.
Когда на экране появляется окно, то в серверной части ОС (режим ядра) появляется структура данных которая описывает это окно — его положение на экране, размеры, текст заголовка, оконная функция через которую ОС даёт приложению среагировать на события. Поскольку подсистем в ОС много, то и структур данных описывающих один объект может быть несколько, к примеру информация о пользовательском процессе есть в компонентах:
- Executive — здесь логика работы ОС. В этом слое проверяется что могут и не могут делать процессы. Здесь хранится инфа о родительском процессе, параметры старта процесса (Process Environment Block), привязанный аккаунт пользователя, имя exe файла процесса.
- Kernel — здесь реализованы механизмы ОС, такие как планировщик потоков. Здесь хранится сколько времени процесс проводит в режиме пользователя и ядра, к каким процессорам привязаны его потоки, базовый приоритет потоков процесса.
- Windowing subsystem — инфа о GDI объектах которые используются для рисования в окне. Это такие примитивы как кисти, pen и пр.
- DirectX — всё что имеет отношение к DirectX: шейдеры, поверхности, DX-объекты, счётчики производительности GPU, настройки памяти графической памяти.
- Подсистема Windows которая представлена процессом CSRSS.exe (Client Server Runtime SubSystem). Windows ранее поддерживал ОС POSIX (процесс PSXSS.exe) и OS/2 (OS2SS.exe). В те времена возникла идея сделать и Windows такой же подсистемой, но эта было медленно и поэтому скоро часть CSRSS.exe перенесли в win32k.sys, который сейчас разбит на несколько файлов — win32k.sys, win32kbase.sys и win32kfull.sys. Здесь хранится информация о Process Group Data, Shutdown level, Session Data и пр.
Что такое компонент? Это логически сгруппированный функционал. Компонентом можно назвать ООП-класс, dll, папку, набор функций с общим префиксом, пространство имён, слой в архитектуре.
Более подробно о разделении на клиент-сервер
Разделение на клиент и сервер реализовано при помощи встроенной функциональности CPU, разделения памяти и программных проверок.
Производители оборудования сотрудничают с разработчиками ОС, поэтому в процессоре есть механизмы созданные с учётом потребностей создателей операционных систем. Во всех современных процессорах реализован механизм ролей пользователя, где под пользователем понимается исполняемый в данный момент код. В веб приложениях роль залогиненого пользователя хранится в какой-то переменной и помимо понятного названия Admin или User имеет Id этой роли который чаще и используется при авторизации, потому как сравнивать числа быстрее и проще чем строки. В процессоре роль текущего пользователя хранится в поле которое называется “кольцо безопасности” (Security Ring), а не “CurrentUser.Role.Id”. В большинстве процессоров это поле принимает четыре значения от 0 до 3. Windows использует 0 для роли которая называется “Режим Ядра”, потому как это самый привилегированный режим и самое большое значение для роли “Режим Пользователя”, потому как это самая ограниченная роль. Остальные роли не используются потому как различие между 0 и 1, 2 и 3 незначительное. Эти роли ограничивают страницы памяти которые могут быть адресованы, нельзя вызывать некоторые инструкции или же нельзя их вызывать с определёнными аргументами. Так же есть ограничения на использование технологии I/O Ports для обмена данными с устройствами такими как клавиатура, но она уже лет 10 не используется. Переключение в режим ядра происходит через команду syscall, которая по индексу находит в массиве указателей на APIs Windows функцию которую надо вызвать. Указатель на этот массив сохраняется в специальном регистре процессора во время загрузки ОС.
Прерывания могут генерироваться не только процессором но и внешними устройствами (клавиатура, мышь) или программным кодом. Планировщик потоков устанавливает таймер который с интервалами равными одному кванту (по умолчанию около 15мс, в Windows Server больше) генерирует прерывание чтобы по внутреннему алгоритму назначить другой поток на исполнение. Пошаговое исполнение программы в Visual Studio так же полагается на механизм прерываний — у процессора устанавливается флаг, который после каждой команды вызывает прерывание которое обрабатывает Windows Debugging Engine и уведомляет через API Visual Studio.
Разделение памятью реализовано благодаря виртуальной памяти. Ранее я говорил что ОС это менеджер ресурсов и виртуальная машина. Даже если у вас 1Гб RAM 32х битный Windows будет работать так как если бы у вас было 4Гб оперативки, т.е. реально у вас 1Гб, а виртуально 4Гб. Современные компьютеры основаны на теоретической модели машины Тьюринга или же архитектуре фон Неймана (с некоторыми изменениями). Согласно этим моделям память в компьютере это лента состоящая из ячеек размером один байт. Эти ячейки сгруппированы в страницы как правило по 4096 байт (4Кб), потому как:
64 битный адрес позволяет адресовать 16 экзабайт, это 18,446,744,073,709,551,616 ячеек памяти. Современные процессоры пока что не поддерживают так много RAM и поэтому используют только младшие 48 бит адреса, остальные 16 заполняются старшим разрядом. Поэтому Win x64 попросту не использует часть адресов, которые помечены на рисунке выше чёрным. Но это не значит, что 64х битный Windows “видит” 256 Tb оперативки. Максимум 8TB виртуальной памяти на архитектуре IA64 и 7TB на x64. Предел физической памяти поддерживаемой Windows 10 — 2TB, потому как с большим количеством Винда не тестировалась. Объём поддерживаемой RAM в Windows 10 определяется во многом редакцией ОС, чем дороже тем больше.
Почему ячейки памяти пронумерованы шестнадцатиричными (HEX) числами, а не десятичными или двоичными? Адрес ячейки это не просто порядковый номер, в нём закодировано три числа по которым эту ячейку можно отобразить на физическую память. Первые два это индексы по которым находится конкретная страница виртуальной памяти, а третье число — смещение от начала страницы. CPU и ОС здесь работают в связке — ОС предоставляет структуру данных по которой CPU находит страницу виртуальной памяти и копирует её в физическую. По HEX номеру можно сразу увидеть как выровнен в памяти адрес. Формат двоичного числа слишком громоздкий, 32 бита (или 64) трудны для восприятия. Десятичный формат — показывает слишком мало информации, тогда как HEX удобный компромисс между десятичной и двоичной системами, средами людей и машин.
Программный способ разделения на клиент-сервер (режим ядра-режим пользователя) гораздо скучнее перечисленных выше механизмов. Процессы и потоки могут быть помечены специальными аттрибутами или же мы можем хранить список указателей на потоки/процессы и проверять их в коде. Если вы хоть раз делали авторизацию в веб-приложении, то хорошо понимаете о чём я говорю.
Мэйнфреймы
Мейнфрейм
Мейнфреймы — это тип компьютеров, которые обычно известны своими большими размерами, объемом памяти, вычислительной мощностью и высоким уровнем надежности. Они в основном используются крупными организациями для работы с важными приложениями, требующие больших объемов обработки данных.
В целом, есть несколько характеристик мэйнфреймов, которые являются общими для всех поставщиков мэйнфреймов: почти все мэйнфреймы имеют возможность запускать (или размещать) несколько операционных систем. Мэйнфреймы могут добавлять или оперативно заменять емкость системы без сбоев. Такие сервера предназначены для ввода-вывода очень большого объема данных и подчеркивают пропускную способность вычислений.
Один мэйнфрейм может заменить десятки или даже сотни небольших серверов. Впервые подобные машины появились в начале 1940-х годов. Наиболее популярными поставщиками были IBM, Hitachi и Amdahl. Некоторые недавно рассматривали мэйнфреймы, как устаревшую технологию без реального использования. Тем не менее, сегодня, как и в каждое десятилетие с момента его создания, мэйнфреймы и стиль мэйнфреймов преобладают в среде крупномасштабных бизнес-вычислений.
В настоящее время мэйнфреймы играют главную роль в повседневной работе многих крупнейших в мире компаний. Мейнфрейм занимает желанное место в современной среде электронного бизнеса. В банковском деле, финансах, здравоохранении, страховании, коммунальном обслуживании, правительстве и множестве других государственных и частных предприятий мэйнфрейм активно используется.
Основное различие между мэйнфреймами и суперкомпьютерами заключается в их типичной прикладной области — мэйнфреймы превосходны в надежных объемных вычислениях в областях, требующих целочисленных операций (например, финансовых, индексирования, сравнения и т. д.).
Суперкомпьютеры спроектированы так, чтобы превосходить их в способности выполнять операции с плавающей запятой — сложение, вычитание и умножение с достаточным количеством цифр точности для моделирования непрерывных явлений, таких как погода. Несмотря на постоянные изменения в ИТ, мэйнфреймы считаются самыми стабильными, безопасными и совместимыми из всех вычислительных платформ. Новейшие модели способны справляться с самыми сложными и требовательными рабочими нагрузками клиентов, но продолжают работать с приложениями, написанными в более ранние десятилетия. Для тех, кто думает, что «большое железо» сейчас бесполезно, подумайте еще раз, настоятельно рекомендую.
Читайте также: