Как инженеры-программисты, мы изучаем компьютерные системы (или архитектуру компьютера), чтобы понять, как в конечном итоге работают наши программы и как машина ожидает, что наши данные будут закодированы. Непосредственное преимущество - возможность писать более быстрый, эффективный и безопасный код.
В долгосрочной перспективе понимание компьютерных систем дает еще больше пользы. Каждая абстракция между нами и оборудованием проявляет утечки. Этот курс предоставит базовые принципы для создания прочных ментальных моделей и более эффективного анализа.
Мы начнем с того, как машина кодирует данные, включая двоичные представления, такие как текст. Затем перейдем к программированию на C и ассемблере, чтобы лучше понять интерфейс, предоставляемый компьютером для выполнения программ. В завершение мы рассмотрим два важных аспекта для улучшения производительности программ: использование микроархитектуры процессора и кешей ЦП (иерархия памяти).
Основу курса составляют последовательности задач по каждой теме. Вы должны стремиться решить каждую задачу, используя готовые решения и дополнительные объяснения при необходимости. Также есть несколько семинаров, которые помогут связать темы.
Посмотреть больше
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
Ограничение времени просмотра
Вы можете просматривать пробный урок только 10 минут. Получите полный доступ, чтобы смотреть без ограничений.
Привет, меня зовут Оз. Я преподаватель компьютерных наук и отец, обучающий своих детей на дому, живу в сельской местности Австралии. С 2015 года я управляю Bradfield, небольшой профессиональной школой, которая изначально была расположена в Сан-Франциско, а теперь полностью онлайн. Начиная с 2024 года, я сосредотачиваю свою энергию на csprimer.com - учебной программе по компьютерным наукам с гибким графиком. Ранее я работал инженером-программистом
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
Цель этого курса - помочь вам понять операционную систему, одно из самых важных программных обеспечений, с которым взаимодействуют почти все программы.Каждый модуль охватывает как концептуальные основы, так и практические аспекты для инженеров-программистов. Вы будете писать небольшие программы и анализировать: «Как операционная система делает это? Как мои знания объясняют поведение программы?» По завершении каждого модуля вы будете лучше понимат