O`kante's line of view

thoughts bout things

Subscribe to RSS feed

К режимам работы разработчиков

, ,

Вступление

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

Виды режимов работы

С одной стороны режимы работы с точки зрения следования их графику можно разделить на:

  1. Синхронный
  2. Асинхронный
  3. Квазисинхронный

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

  1. Однозадачный
  2. Многозадачный

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

  1. Игровой
  2. Трудовой

C точки зрения наличия общения программиста во время разрабоотки его режим работы будет:

  1. Интровертный
  2. Экстравертный.

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

  1. Авторский
  2. Коллективный

Безусловно, точек зрения можно привести ещё больше. Однако делать этого не стану, потому что устал приводить, а автор не должен уставать во время написания текста, потому что это дело станет ему противным, а так нельзя. Вообще, если минимизировать, то столько точек зрения --- лишнее. Однако пришлось привести, потому что непонятно где какая точка, ведь одна из них может быть на глубине оврага, а иная на высоте, поэтому для гарантированного стереоскопичного и объективного взгляда и пршлось сделать это.

Синхронность

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

Задачность

Задачность призвана оптимизировать рабочее время и подстраивать процесс разработки под индивидуальные особенности характера разработчика. С однозадачностью все более или менее ясно, остановимся на многозадачности. Её следует внедрять в следующих случаях.

  1. В процессе разработки у разработчика есть ничем не обоснованные промежутки времени, сбивающие его с ритма. Для их заполнения и надобно добавить ему задач.
  2. Разработчику скучно разрабатывать одно и то же.

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

Побуждающая сила

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

Вектора общения

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

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

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

Коллективность

Некоторые разработчики привыкли быть финитными творцами, то есть производить на свет законченные произведения, в частности, если речь идет о программах, тогда это будут готовые к продаже продукты со справкой, документацией разработчика инсталлятором или в tar.[g/b]z и окошком "О программе". Иные разработчики наоборот, привыкли делать что-то одно хорошо. И тем и дургим станет плохо не на своем месте.

Вывод

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

О том как инициализировать режим VESA

, ,

Чтобы пользоваться графическими возможностями режима VESA в рельном режиме работы процессора необходиом выполнить 3 процедуры из которых 1 необязательная и будет помечена звездочкой:

  1. * Протестировать режим на совместимость с аппаратными подсистемами компьютера;
  2. Выбрать нужный режим;
  3. Наложить окно на нужную область памяти;


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

К режимам работы VESA

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

  1. Разрешение по горизонтали;
  2. Разрешение по вертикали;
  3. Количество цветов;


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

Таблица соответствия номеров режимов значениям параметров приведена ниже:

15-разр.  Разрешение     Разрешение      Количество      
номер     по вертикали   по горизонатли  цветов          
режима                                                   
---------------------------------------------------------
100h      640            400             256             
101h      640            480             256             
                                                         
102h      800            600             16              
103h      800            600             256             
                                                         
104h      1024           768             16              
105h      1024           768             256             
                                                         
106h      1280           1024            16              
107h      1280           1024            256             
                                                         
10Dh      320            200             32K   (1:5:5:5) 
10Eh      320            200             64K   (5:6:5)   
10Fh      320            200             16.8M (8:8:8)   
110h      640            480             32K   (1:5:5:5) 
111h      640            480             64K   (5:6:5)   
112h      640            480             16.8M (8:8:8)   
113h      800            600             32K   (1:5:5:5) 
114h      800            600             64K   (5:6:5)   
115h      800            600             16.8M (8:8:8)   
116h      1024           768             32K   (1:5:5:5) 
117h      1024           768             64K   (5:6:5)   
118h      1024           768             16.8M (8:8:8)   
119h      1280           1024            32K   (1:5:5:5) 
11Ah      1280           1024            64K   (5:6:5)   
11Bh      1280           1024            16.8M (8:8:8)   
11Ch      1600           1200            256             
---------------------------------------------------------



К оконному режиму

Некоторое видеооборудование поддерживает два окна: окно A и B. Так как это пример, то мы ограничимся использованием только окна A. О том, зачем нужно именно два окна упоминать не имеет смысла, потому что скоро планируется покинуть реальный режим работы процессора и перейти к защищенному.

Необходимо ещё сказать о гранулярности. В применении к окнам гранулярность --- минимальное расстояние, на которое можно сдвинуть окно. Есть хорошая аналогия с сегментной адресацией процессора пентиум. Адрес там считается так:

Granularity = 16

Адрес = CS*Granularity + Смещение



Вот здесь гранулярность есть переменная Granularity и равна 16. При работе в реальном режиме, с применением оконной адерсации необходимо знать о гранулярности и применять её. В противном случае может создаться ситуация, когда гранулярность меньше чем диапазон окна, тогда соседние окна станут накладываться друг на друга и изображение испортится. Об этом сказано. Перейдем к примеру.

Пример кода

Чтобы установить режим нужно писать примерно так:

        ; AH - SVGA (4F)
        ; AL - Номер функции
        ; установки режима (02)
        mov ax, 4F02h
        ; номер режима (118) 
        ; 1024×768 16,8 Млн
        mov bx, 118h
        int 10h        


Чтобы установить окно нужно вызвать прерывание 10h чуть иначе.

  ; AH - SVGA (4F)
        ; AL - Номер функции
        ; установки окна (05)
        mov ax, 4F05h
        ; Какое окно A или B
        ; A = 0
        ; B = 1 
        mov bx, 000h
        ; Позиция окна в
        ; в видеопамяти
        ; (N байт = dx * Гранулярность)
        mov dx, 1
        int 10h     


Полный пример кода.

org 7C00h
use16


start:
        ; Настраиваем ES
        ; Чтобы он указывал 
        ; на видеопамять.
        mov ax, 0A000h
        mov es, ax

        mov ax, 4F02h
        mov bx, 118h
        int 10h

        mov  ax, 0
     draw_loop:
        call put_window
        call draw_back
        inc ax
        cmp ax, 160
        jnz draw_loop

        jmp $

; ax - window pos
put_window:
        push eax
        mov dx, ax
        mov ax, 4F05h
        mov bx, 000h
        int 10h
        pop eax
        ret

draw_back:
        mov ebx, eax
        xor di, di
        xor cx, cx
        dec cx
        shr cx, 2
        mov ax, 06600h
     dlp:
        stosb
        stosw
        ;inc ax
        loop dlp
        mov eax, ebx
        ret


the_end: rb 510-(the_end-start)
db 055h, 0aah


Автор благодарен http://www.monstersoft.com/

Уменьшение энтропии II

, , , ...

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

В рекламе, в СМИ и многих других местах обработки анализа и синтеза информации наблюдается похожая картина. Это связано с тем же, с чем связан неоправданно большой размер софт-продукции копрораций, о котором упоминалось в [cmpx § 2]. Для тех, кто не любит ходить по гиперссылкам, напоминается, что это происходит от того, что есть очень много людей трудящихся на ниве журналистики, которых нужно непременно занять упорным трудом. А раз нету работы, то вот их и заставляют писать одно и то же.

К метафизике явления.

1) Возможно предположить многое. Например, что новая информация постепенно иссякает, ровно как и другие остальные ресурсы нашей планеты. Дело в том, что человеку очень трудно выдумывать самому. Поэтому он чаще всего занимается описанием окружающего. Окружающее по большей части материально, значит конечно, поэтому то потоки информации и иссякают. Можно ещё предположить, что человечество сделалось глупым. Однако тут не имеется каких-либо точных доказательств, да и врядли возможно сыскать такие, хотя можно предположить, что из-за чрезмерного злоупотребления промышленностью и жадностью человечество испортило экологию, а потом экология испортила человечество, ибо все в мире стремится к равномерности и если поместить хорошее рядом с плохим, то рано или поздно все станет либо хорошим либо плохим. Поэтому-то человечество сравнялось с окружающей средой. Но полно об этом.

2) Тут яснее. Дело в том, что в последнее время люди стали получать гораздо больше информации. А каналы получения её не расширились как надо, остались почти что на прежнем уровне. Поэтому стало труднее доность информацию до человеческих голов, ровно так же как и труднее прогнать по одной и той же трубе одно и большее количество жидкости или газа: во втором случае придется прилагать большее давление для увеличения скорости прогона.

К выводу

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

О том как прочитать секторы с дискеты

, ,

    mov  ah, 2  ; Номер функции чтения секторов
    mov  al, 10 ; Число секторов (максимум 128)
    xor  ch, ch ; Номер цилиндра
    mov  cl, 2  ; Номер начального сектора
    xor  dx, dx ; Номер головки (0)
                ; Номер привода (0)
    mov  bx, offset ; Адрес в памяти, куда читать.
    int  13h   


Выражаю благодарность Great.

Уменьшение энтропии

, , , ...

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

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

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

Здравствуйте!

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

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