11695

Визначення конфігурації ПК

Лабораторная работа

Информатика, кибернетика и программирование

ЛАБОРАТОРНА РОБОТА №9. Тема: Визначення конфігурації ПК. Ціль: Отримати практичні навички програмування визначення конфігурації компютера. Теоретичні відомості У вас є дві можливості визначити модель компютера і отримати деяку інформацію про конфігурац...

Украинкский

2013-04-10

87.5 KB

4 чел.

ЛАБОРАТОРНА РОБОТА №9.

Тема:  Визначення конфігурації ПК.

Ціль: Отримати практичні навички програмування визначення конфігурації комп'ютера.

 

Теоретичні відомості

У вас є дві можливості визначити модель комп'ютера і отримати деяку інформацію про конфігурацію - прочитати цю інформацію з осередків ПЗП BIOS, або викликати одну з функцій переривання INT 15h, що повертає адресу таблиці конфігурації.

ПЗП BIOS містить за адресою FFFF : FFFE байт, значення якого можна використовувати для ідентифікації типу комп'ютера :

FF

оригінальний IBM PC;

FE

XT, Portable PC;

FD

PCjr;

FC

AT;

FB

XT з пам'яттю 640 До на материнській платі;

FA

PS/2 модель 25 або 30;

F9

Convertible PC;

F8

PS/2 моделі 55SX, 70, 80;

9A

Compaq XT, Compaq Plus;

30

Sperry PC;

2D

Compaq PC, Compaq Deskpro

Для визначення моделі комп'ютера у такий спосіб можна використовувати наступну функцію:

/*

*.Name      pc_model

*.Title     Визначити модель комп'ютера

*.Descr     Функція повертає байт, що ідентифікує

          *           модель персонального комп'ютера

*.Params    Немає

*.Return    Код моделі персонального комп'ютера :

      *       FF      оригінальний IBM PC;

      *       FE      XT, Portable PC;

      *       FD      PCjr;

      *       FC      AT;

      *       FB      XT з пам'яттю 640 До на материнській платі;

*      *       FA      PS/2 модель 25 або 30;

      *       F9      Convertible PC;

      *       F8      PS/2 моделі 55SX, 70, 80;

      *       9A      Compaq XT, Compaq Plus;

      *       30      Sperry PC;

     *       2D      Compaq PC, Compaq Deskpro.

*/

#include <stdio.h>

#include <dos.h>

#include "sysp.h"

char unsigned pc_model(void){

               char unsigned _far *modptr;

               modptr = FP_MAKE(0xf000,0xfffe);

               return *modptr;

}

Функція pc_model() повертає байт, що ідентифікує код комп'ютера. В більшості випадків вам досить перевірити цей байт і зробити висновок про тип комп'ютера і склад його апаратних засобів.

КМОП-пам'ять і конфігурація комп'ютера

У КМОП-пам'яті зберігається поточний час і дата, відомості про конфігурацію системи, результат тестування при включенні живлення і інша інформація, приведена в наступній таблиці, :

Адреса осередку    Вміст

0000h - 0Dh       Використовуються годинником реального часу

00Eh     Байт стану діагностики при

               включенні живлення

00Fh     Байт стану відключення

10h     Тип використовуваного НГМД

11h     Зарезервовано

12h     Тип НМД (якщо тип менше 15)

13h     Зарезервовано

14h     Конфігурація устаткування

15h - 16h       Об'єм основної пам'яті

17h - 18h       Об'єм розширеної (extended) пам'яті

19h     Тип першого НМД (якщо тип > 15)

1Ah     Тип другого НМД (якщо тип > 15)

1Bh - 20h       Зарезервовано

21h - 2Dh       Зарезервовано

2Eh - 2Fh       Контрольна сума осередків 10h - 20h

30h - 31h       Об'єм розширеної (extended) пам'яті

32h     Поточне століття в двійково-десятковому

               коді (19h для 19-го століття)

33h     Різна інформація

34h - 3Fh       Зарезервовано

Розглянемо детально призначення окремих осередків КМОП-пам'яті.

0000h - 0Dh - область годинника реального часу

Осередки з адресами 00h - 0Dh використовуються годинником реального часу. Годиннику реального часу буде втаємничена окрема глава, тому зараз ми не станемо зупинятися на цих осередках.

00Eh - байт стану діагностики

Байт стану діагностики (розташований в КМОП-пам'яті за адресою 0Eh) містить результати виконання діагностики при включенні живлення комп'ютера. Виконавши аналіз утримуваного байта 0Eh, програма може виявити несправність НМД, годинника реального часу, розрядку акумулятора і помилки в конфігурації. Приведемо формат цього байта :

Біт     Значення

0-0-1     Не використовується, рівне 0;

2       0 - неправильна установка годинника реального часу;

               1 - годинник реального часу встановлений правильно;

3       1 - несправність НМД, неможливо завантажити

                       операційну систему з жорсткого диска;

                0 - НМД справний;

4       1 - фактичний розмір оперативної пам'яті не

                       відповідає вказаному в КМОП-пам'яті;

               0 - розмір оперативної пам'яті вказаний правильно;

5       1 - помилка в конфігурації системи, фактична

                       конфігурація не відповідає вказаною в

                       байті конфігурації устаткування (адреса 14h);

               0 - конфігурація вказана правильно;

6       1 - помилка в контрольній сумі КМОП-пам'яті;

               0 - контрольна сума КМОП-пам'яті правильна;

7       1 - розрядка акумулятора, що живить КМОП-пам'ять і

                       годинник реального часу;

               0 - акумулятор справний і заряджений.

00Fh - байт стану відключення

Байт стану відключення 0Fh використовується процесорами 80286, 80386 і 80486 для визначення способу повернення із захищеного режиму в реальний після апаратного скидання.

Ви, ймовірно, знаєте, що ці процесори можуть працювати або в реальному режимі, який відповідає режиму роботи процесора 8086, або в захищеному. Захищений режим роботи використовується такими операційними системами, як OS/2, UNIX, XENIX, а також операційними оболонками WINDOWS/386 і WINDOWS версії 3.0. У цьому режимі процесор може безпосередньо адресувати усю пам'ять, що лежить вище за межу 1 мегабайт.

Детальний розгляд захищеного режиму роботи виходить за рамки цієї книги. Розповімо коротко про перехід з реального режиму в захищений і назад для ілюстрації використання осередку КМОП-пам'яті з адресою 0Fh.

Для перекладу процесора 80286 з реального режиму в захищений можна використовувати спеціальну команду LMSW :

mov     ax, 1

lmsw    ax

Зрозуміло, двох рядків, приведених вище, недостатньо для правильної роботи процесора в захищеному режимі.

Для того, щоб повернути процесор 80286 із захищеного режиму в реальний, необхідно виконати апаратне скидання (відключення) процесора. Це можна зробити таким чином:

mov     ax, 0FEh        ; команда відключення

out     64h, ax

Перед видачею команди відключення програма повинна записати в осередок 0Fh КМОП-пам'яті причину відключення :

Значення        Причина відключення

      0       Програмне скидання при натисненні

               комбінації клавіш CTRL - ALT - DEL або

               несподіване скидання. Виконується звичайний

               перезапуск системи, але процедури

               тестування при включенні живлення не

               виконуються.

1       Скидання після визначення об'єму пам'яті.

2       Скидання після тестування пам'яті.

3       Скидання після виявлення помилки в пам'яті

       (        (контроль парності).

4       Скидання із запитом перезавантаження.

5       Після скидання перезапускається контроллер

               переривань, потім управління передається

               за адресою, яка знаходиться в області

               даних BIOS 0000:0467 h.

6,7,8   Скидання після виконання тесту роботи

               процесора в захищеному режимі.

9       Скидання після виконання пересилки блоку

               пам'яті з основної пам'яті в

               розширену.

00Ah     Після скидання управління негайне

               передається за адресою, узятою з

               області даних BIOS 0000:0467 h.

Для перекладу процесорів 80386 і 80486 з реального режиму в захищений і назад можна використовувати завантаження спеціального регістра CR0, що управляє, звичайною командою MOV. Проте працюватиме і метод, заснований на застосуванні команди LMSW і команди відключення.

Ви можете використовувати зведення про команду відключення для організації програмного перезапуску системи.

10h - тип використовуваних флоппи-дисков;

Молодша і старша тетради цього байта описують відповідно до другої і перший НГМД:

  •  0000 - 0000 - дисковод не встановлений;
  •  0000001 - дисковод на 360К;
  •  000010 - дисковод на 1,2М;
  •  000011 - дисковод на 720К;
  •  00100 - дисковод на 1.44М.

11h - зарезервовано для AT, тип НМД для PS/2

У комп'ютерах PS/2 осередки КМОП-пам'яті з адресами 11h і 12h використовуються для зберігання типів, відповідно, першого і другого НМД.

12h - типи першого і другого НМД

Цей байт розділений на дві тетради аналогічно байту, що описує НГМД. Проте в тетраді можна закодувати тільки 16 різних значень, а типів НМД значно більше. Тому тип 15 використовується спеціальним чином - якщо тип НМД в молодшій тетраді (диск C :) дорівнює 15, то правильне значення типу знаходиться в КМОП-пам'яті за адресою 19h. Аналогічно для диска D : цей тип можна узяти з байта за адресою 1Ah (якщо старша тетрада байта з адресою 12h рівна 15).

Таблиця використовуваних типів дисків була приведена в третій книзі першого тому, в розділі, присвяченому конфігурації дискової підсистеми. Крім того, відомості про типи дисків, що задаються програмою SETUP, зазвичай приводяться в документації, що поставляється разом з комп'ютером.

13h - зарезервовано

Цей осередок КМОП-пам'яті зарезервований для подальшого розвитку системи.

14h - конфігурація устаткування

У цьому байті знаходиться інформація про кількість встановлених НГМД, про наявність арифметичного співпроцесора 80287 або 80387 і про тип використовуваного дисплейного контроллера. Приведемо формат байта конфігурації :

Біт     Значення

0        1 - в системі встановлені НГМД;

                0 - НГМД не використовуються;

1       1 - встановлений арифметичний співпроцесор 80287 або

           80387;

                0 - арифметичний співпроцесор не встановлений;

2-3     не використовуються, рівні 0;

4-5     тип дисплейного контроллера і його режим :

               Біти:   5    4

                                                      0       0       - не використовується або EGA;

                                                       0       1       - CGA, EGA, VGA в режимі 40x25;

                                                       1       0       - CGA, EGA, VGA в режимі 80x25;

                                                        1       1       - монохромний контроллер;

6-7     кількість використовуваних НГМД:

               Біти:   7       6

                       0       -                         0       0       - встановлений 1 НГМД

                       0                                  0       1       - встановлений 2 НГМД

                                                           1       0       - встановлений 3 НГМД

                                                           1       1       - встановлений 4 НГМД

15h-16h - об'єм основної пам'яті

Осередок 15h містить молодший байт, а осередок 16h - старший байт об'єму основної пам'яті. Наприклад:

00100h - 256K

00200h - 512K

00280h - 640K

17h-18h - об'єм додаткової пам'яті

Осередки 17h і 18h містять, відповідно, молодший і старший байти розміру додаткової пам'яті (розташованої вище межі 1 М) в кілобайтах.

19h-1Ah типів першого і другого НМД

Ці осередки містять типи, відповідно, першого і другого НМД, якщо відповідний тип має значення, більше 15 (див. опис осередку 12h).

1Bh-2Dh - зарезервовано

Ці осередки КМОП-пам'яті зарезервовані для подальшого розвитку системи.

2Eh-2Fh -       контрольна сума осередків 10h - 20h

Для осередків КМОП-пам'яті з адресами від 10h до 20h при ініціалізації системи BIOS виконує перевірку контрольної суми. Ця контрольна сума зберігається також в КМОП-пам'яті в осередках 2Eh і 2Fh (відповідно, старший і молодший байти).

30h-31h - об'єм додаткової пам'яті

Осередки 30h і 31h містять, відповідно, молодший і старший байти розміру додаткової пам'яті (розташованої вище межі 1 М) в кілобайтах.

Ця інформація дублює аналогічну інформацію, розташовану в осередках з адресами 17h-18h.

32h Поточне століття

У машинах IBM AT цей байт містить поточне століття в двійково-десятковому коді, тобто 19 століття записане як 19h.

PS/2 використовує цей осередок разом з осередком 33h для зберігання контрольної суми осередків з адресами від 10h до 31h. При цьому старший байт контрольної суми зберігається в осередку 32h, а молодший - 33h.

Використання BIOS для визначення конфігурації

Як ми вже говорили, BIOS в процесі ініціалізації опитує стан перемичок і аналізує вміст КМОП-пам'яті (на тих машинах, де ця пам'ять встановлена). Після аналізу BIOS записує у свою область даних за адресою 0000h:0410 h слово конфігурації. Окремі біти цього слова містять інформацію про наявність в системі різного устаткування. Це слово можна отримати за допомогою переривання INT 11h, яке повертає його в регістрі AX.

Приведемо призначення окремих бітів слова конфігурації :

Біти    Значення

              0                1 - система містить НМД;

                                 0 - система не містить НМД.

1               1 - встановлений арифметичний співпроцесор;

                0 - арифметичний співпроцесор не встановлений.

2-3             Об'єм основної пам'яті, встановленої на

                               материнській платі:

                                               Біти:   3  2

                                                                               0  1     - 16К;

                                                                               1  0     - 32К;

                                                                               1  1     - 64К і більше.

4-5             Тип дисплейного контроллера і його режим :

                                               Біти: 5    4

                                                                        0       0      - не використовується або EGA;

                                                                        0       1      - CGA, EGA, VGA в режимі

                                                                                                   40x25;

                                                                        1       0      - CGA, EGA, VGA в режимі

                                                                                                   80x25;

                                                                        1       1      - монохромний контроллер.

6-7             Кількість встановлених НГМД:

                                               Біти:   7       6

                                                                              0       0       - встановлений  1 НГМД;

                                                                              0       1       - встановлене 2 НГМД;

                                                                              1       0       - встановлене 3 НГМД;

                                                                              1       1       - встановлене 4 НГМД.

8               1 - використовується контроллер прямого доступу до

                                       пам'яті;

                0 - контроллер прямого доступу до пам'яті не

                                       використовується.

9-11    Кількість встановлених портів послідовної

                               передачі даних RS232S :

                                               000 - немає портів;

                                               001 - використовується один порт;

                                               111 - використовується 7 портів.

12              1 - використовується ігровий адаптер (джойстик);

                 0 - ігровий адаптер не використовується.

13              1 - встановлений послідовний принтер (тільки

                                       для PC Jr).

14-15   Кількість встановлених принтерів :

                                              00 - немає принтерів;

                                              01 - використовується 1 принтер;

                                               10 - використовується 2 принтери;

                                               11 - використовується 3 принтери.

Індивідуальне завдання.

Скласти програму такою, що дозволяє визначити апаратну конфігурацію вичеслительной системи :

  •  тип комп'ютера
  •    об'єм ОП,
  •  наявність і об'єм розширеної пам'яті,
  •  наявність додаткових ПЗП,
  •  версія ОС.


 

А также другие работы, которые могут Вас заинтересовать

81396. Антидискриминационная направленность социальной работы. Эйджизм, сексизм и инвалидизм в современном обществе 39.68 KB
  С точки зрения феминистской теории сексизм это проявление патриархата то есть такого устройства общества при котором мужчины как социальная группа обладают властью над женщинами как социальной группой. Для оправдания идеологии сексизма как правило используются эссенциалистские утверждения объясняющие социальное неравенство мужчин и женщин их природными различиями. Исторически женщины были а в некоторых странах остаются ущемлены в гражданских правах по сравнению с мужчинами например лишены избирательных прав. Она может выражаться в...
81397. Явление стигматизации в современном обществе. Виды стигматизации. Приведите примеры проявления 39.99 KB
  В отличие от слова клеймение слово стигматизация может обозначать навешивания социальных ярлыков. В этом смысле стигматизация ассоциация какоголибо качества как правило отрицательного с конкретным человеком или группой людей хотя эта связь отсутствует или не доказана. Стигматизация является составной частью многих стереотипов. Виды социальной стигматизации можно классифицировать следующим образом: Культурная стигматизация социальные ярлыки укоренившиеся в культуре государства либо мировой культуре чукчи недогадливы.
81398. Виктимизация и криминализация как социальное явление 37.5 KB
  Виктимизация это процесс превращения человека в жертву преступления и результат этого процесса как в единичном так и в массовом порядке. Виктимизация Обстоятельства тормозящие нормальное развитие личности человека: Общество и его культура; Низкий уровень жизни; Безработица обычаи и традиции народа; Особенности семейного воспитания; Плохие экологические условия на месте проживания; Слабая социальная поддержка государства Все эти факторы могут превращать в жертву социализации. Виктимизация – процесс превращения человека в...
81399. Пенсионеры как объект социальной работы и социологического анализа 38.97 KB
  Роуз согласно которой культура становится стержнем объединяющим людей пожилого возраста создает особую близость между ними и в то же время обосабливает их от других возрастных когорт. Эта теория предполагает возрастную дифференциацию наряду с социальной разделяя людей на группы по их образу жизни и материальному положению. Терапевтические модели образующие фундамент практической работы с пожилыми людьми должны использовать 3 принципа: Изучение индивида в его социальной среде Понимание психосоциологического становления и развития...
81400. Социально-демографическая категория пожилых людей. Основные подходы к рассмотрению процесса ресоциализации пожилых людей 39.08 KB
  Основные подходы к рассмотрению процесса ресоциализации пожилых людей. У людей избравших в старости цель сохранения себя как личности важным является сохранение системы социальных связей и передача своего жизненного опыта. Рассматривая данную стратегию старения ученые отмечают что психика пожилых людей в этом случае отличается ориентировкой на настоящее и отсутствием депрессивной проекции на прошедшее.
81401. Принципы социальной работы с пожилыми людьми и основные аспекты социальной поддержки пожилых людей 39.62 KB
  Принципы социальной работы в отношении пожилых граждан следующие: принцип независимости подразумевает что пожилые люди должны иметь: доступ к основным благам и обслуживанию; возможность работать или заниматься какимилибо видами деятельности приносящей доход; участвовать в определении сроков прекращения трудовой деятельности; сохранять возможность участия в программах образования и профессиональной подготовки; жить в безопасных условиях с учетом личных наклонностей и изменяющегося состояния; получать содействие в проживании в домашних...
81402. Основные положения социальной политики в отношении пожилых людей 37.81 KB
  Устойчивое повышение уровня и качества жизни поддержание социально приемлемого образа жизни граждан старшего поколения осуществляется с учетом специфики положения возрастной и иной дифференциации пожилых людей национальных традиций конфессиональных и других различий по следующим основным направлениям: 1. усиление правовой защиты граждан пожилого возраста путем продвижения в действующее законодательство специальных норм способствующих реализации конституционных гарантий их прав осуществления комплексных мер оказания правовой и иной защиты...
81403. Социальное обслуживание пожилых людей 37.36 KB
  Традиционно в нашем обществе сложились три направления деятельности органов социальной защиты населения в том числе пожилых людей и старых людей: социальная помощь представление старым людям льгот и преимуществ; социальное обслуживание; организация пенсионного обеспечения. Для Большинства пожилых людей выход на пенсию это снижение доходов в полтора два и более раз. Отсутствие возможности у пожилых людей самостоятельно или с помощью родственников удовлетворять свои потребности не всегда должно являться основанием для помещения в...
81404. Формы социального обслуживания пожилых людей 35.74 KB
  Обязательным минимумом в работе таких центров является наличие трех отделений: социальной помощи на дому временного дневного пребывания срочной социальной помощи Основными задачами и функциями центров являются: выявление престарелых нуждающихся в социальной поддержке; определение конкретных видов и форм помощи лицам нуждающимся в социальной поддержке; привлечение государственных и общественных организаций для совместной работы; предоставление различных социальнобытовых услуг разового или постоянного характера лицам нуждающимся в...