- •Ответы на вопросы
- •1. История создания и развития вычислительной техники. Классификация и основные характеристики эвм.
- •2. Понятие информации и ее основные свойства. Основные подходы к измерению количества информации. Формы представления информации в эвм.
- •. Формы представления информации в эвм
- •3. Основные понятия теории кодирования. Принципы оптимального кодирования информации. Методики построения оптимальных кодов.
- •4. Основные принципы помехоустойчивого кодирования. Понятие кодового расстояния. Коды с обнаружением и исправлением ошибок.
- •5. Основные понятия булевой алгебры. Элементарные логические функции и их свойства. Нормальные формы булевых функций.
- •6. Понятие алгоритма, его основные свойства, способы представления и этапы разработки. Типы алгоритмических процессов.
- •7. Основные этапы и перспективы развития программного обеспечения эвм. Структура программного обеспечения эвм.
- •8. Трансляторы языков программирования и их функции. Основные фазы трансляции программы.
- •9. Эволюция операционных систем, их назначение и функции. Архитектура и функциональные компоненты сетевых операционных систем.
- •10. Общая характеристика алгоритмов планирования и диспетчеризации процессов и задач. Дисциплины диспетчеризации.
- •11. Механизм прерываний и его использование для организации мультипрограммной обработки данных.
- •12. Общие принципы управления памятью в операционных системах. Статические и динамические разделы. Проблема фрагментации памяти.
- •13. Особенности организации внешней памяти. Понятие файловой системы и ее функции. Типы файловых систем.
- •14. Общая характеристика языков программирования: эволюция и перспективы развития. Структура алгоритмического языка на примере одного из языков программирования высокого уровня.
- •15. Концепция типов данных и ее реализация на примере одного из языков программирования высокого уровня. Базовые и производные типы.
- •16. Основные идеи и принципы структурного программирования. Базовые управляющие конструкции и их реализация на примере одного из языков программирования высокого уровня.
- •17. Основные принципы модульного программирования. Средства для разработки модульных программ на примере одного из языков программирования высокого уровня.
- •18. Основные концепции объектно – ориентированного программирования. Понятие инкапсуляции, наследования и полиморфизма. Классы и объекты.
- •19. Характеристика основных структур хранения данных: вектор, список, сеть. Линейные структуры данных: способы формирования, основные операции и примеры использования.
- •20. Граф как абстрактная структура данных: способы представления и примеры использования.
- •21. Основные принципы распределенной обработки данных. Эталонная модель взаимодействия открытых систем. Локальные и глобальные вычислительные сети.
- •22. Информационные системы в бухгалтерском учете. Классификация, особенности построения и функционирования на примере одной из систем.
- •23. Понятие предметной области. Объекты и их свойства. Целостность данных. Ограничения целостности.
- •24. Понятие модели данных. Классификация моделей данных и их особенности.
- •25. Особенности реляционной модели данных.
- •26. Общая характеристика структурированного языка запросов sql. Стандарты языка sql.
- •27. Понятие транзакции в sql. Технология оперативной обработки транзакций.
- •28. Триггеры и хранимые процедуры.
- •29. Особенности модели «клиент - сервер» в технологии баз данных.
- •30. Распределенная обработка данных. Модели серверов баз данных и сервера приложений.
- •31. Сущность общественного производства. Производительные силы и экономические отношения.
- •32. Основные факторы производства. Ресурсы. Эффективность общественного производства.
- •33. Основные проблемы экономики. Цели и результаты экономики. Формы общественного продукта.
- •34. Формы собственности. Методы изменения форм собственности (приватизация и разгосударствление).
- •35. Товар и его свойства. Блага и их классификация.
- •36. Деньги, их сущность и функции. Законы денежного обращения.
- •37. Цена товара, ее функции. Виды цен в рыночной экономике.
- •38. Рынок и его основные формы. Теневая экономика.
- •39. Конкуренция в рыночной экономике. Методы конкурентной борьбы.
- •40. Монополия и ее виды. Антимонопольное регулирование.
- •41. Спрос и предложение, факторы их определяющие.
- •42. Фирма как экономический субъект. Организационно – правовые формы хозяйствования.
- •43. Доходы. Прибыль.
- •44. Предпринимательская деятельность и ее цели. Предпринимательство в России.
- •45. Сущность и формы капитала. Рынок капитала.
- •46. Основные производственные фонды, их структура. Физический и моральный износ основного капитала.
- •47. Оборотные средства предприятия, их состав и структура, источники формирования.
- •48. Рынок рабочей силы. Труд и заработная плата, ее формы.
- •49. Социальная политика государства и ее реализация в условиях рыночной экономики.
- •50. Инвестиции и их структура. Влияние инвестиций на экономический рост.
- •51. Макроэкономическая нестабильность и безработица. Формы безработицы.
- •52. Макроэкономическая нестабильность и инфляция. Виды инфляции.
- •53. Финансы и финансовая система.
- •54. Налоговая система и ее воздействие на экономику.
- •55. Государственный бюджет и государственный долг.
- •56. Денежно – кредитная политика государства.
- •57. Банковская система государства.
- •58. Сущность, принципы и формы кредита.
- •59. Национальное богатство.
- •60. Национальный доход.
12. Общие принципы управления памятью в операционных системах. Статические и динамические разделы. Проблема фрагментации памяти.
Управление памятью
Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы. Распределению подлежит вся оперативная память, не занятая операционной системой. Обычно ОС располагается в самых младших адресах, однако может занимать и самые старшие адреса. Функциями ОС по управлению памятью являются: отслеживание свободной и занятой памяти, выделение памяти процессам и освобождение памяти при завершении процессов, вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место, а также настройка адресов программы на конкретную область физической памяти.
Распределение памяти статическими и динамическими разделами
Для организации мультипрограммного и/или мультизадачного режима необходимо обеспечить одновременное расположение в оперативной памяти нескольких задач (целиком или частями). Память задаче может выделяться одним сплошным участком (в этом случае говорят о методах неразрывного распределения памяти) или несколькими порциями, которые могут быть размещены в разных областях памяти (тогда говорят о методах разрывного распределения).
Начнем с методов неразрывного распределения памяти. Самая простая схема распределения памяти между несколькими задачами предполагает, что память, не занятая ядром операционной системы, может быть разбита на несколько непрерывных частей — разделов (partitions, regions). Разделы характеризуются именем, типом, границами (как правило, указываются начало раздела и его длина).
Разбиение памяти на несколько непрерывных (неразрывных) разделов может быть фиксированным (статическим) либо динамическим (то есть процесс выделения нового раздела памяти происходит непосредственно при появлении новой задачи). Вначале мы кратко рассмотрим статическое распределение памяти на разделы.
Распределение статическими и динамическими разделами Для организации мультипрограммного режима необходимо обеспечить одновременное расположение в оперативной памяти нескольких задач. Самая простая схема распределения памяти предполагает, что память, незанятая ядром ОС, сожжет быть разбита на несколько непрерывных разделов. Разделы характеризуются именем, типом, границами (начало, конец и длина). Разбиение на несколько непрерывных разделов может быть фиксированным (статическим), либо динамическим (выделение нового раздела происходит при появлении новой задачи). . Распределение памяти разделами с фиксированными границами В каждом разделе в каждый момент времени может располагаться по одной программе. При небольшом объеме памяти увеличение количества параллельно выполняемых приложений можно за счет свопинга (swapping). При свопинге задача целиком перемещается во внешнюю память, а на ее место загружается другая задача, находившаяся на диске в приостановленном состоянии. Серьезная проблема, которая возникает при организации мультипрограммного режима, - это защита самой ОС, так и других задач друг от друга. Основным недостатком такого способа распределения памяти является наличие достаточно большого объема неиспользуемой памяти ( рис. 2). Такие потери называют фрагментацией памяти. Избежать этого можно двумя способами:
выделять раздел ровно такого объема, который нужен под текущую задачу – разделы с подвижными границами. Диспетчер памяти ведет список адресов свободной памяти и выделяет под задачу раздел, равный или чуть больше объема задачи. При освобождении раздела диспетчер пытается объединить этот раздел со смежным свободным участком, если таковой имеется;
размещать задачу не в одной непрерывной области памяти, а в нескольких областях.
Проблемы фрагментации
Почему мы не любим фрагментацию? Да потому, что скорость работы с файлами падает. Невозможность считать файл последовательно приводит к замедлению работы с диском. Все бы ничего, обычным пользователям редко нужна такая высокая скорость работы с диском, потери могли бы быть несущественными. Но дело в том, что в Windows виртуальная память находится на том же самом диске, что и файлы. А Windows использует виртуальную память (или файл подкачки) регулярно. Поэтому в случае сильно фрагментированного диска компьютер может начинать сильно тормозить не только при работе с диском. Между прочим, Линукс сильно выигрывает в этом смысле, для виртуальной памяти там используется отдельный раздел.
Между прочим, здесь речь шла только о фрагментации диска - размазывании файлов по этому самому диску. Есть еще два вида фрагментации - фрагментация оперативной памяти и фрагментация данных внутри файла. С этими видами вы встречаетесь существенно реже, но вы могли замечать ситуацию, когда программа после долгой работы потребляет все больше и больше оперативной памяти. Тут, конечно, может быть так называемая "утечка памяти" - ошибка разработчика. Но иногда виновата как раз фрагментация. Фрагментация же данных внутри файла - совсем редкое явление, оно встречается преимущественно вбазах данных.
Дефрагментация
Дефрагментация - процесс устранения фрагментации. Файлы выстраиваются так, чтобы каждый (по возможности) был записан на диске единым куском. В Windows XP ее можно было запустить через "Пуск" - "Программы", - группа "Стандартные", группа "Служебные" - команду "Дефрагментация диска". Ничего сложного в этой утилите нет, нужно только выбрать диск, нажать кнопку анализ, а потом и дефрагментация
