Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Системное программирование  (Прочитано 2367 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн S_F_H

  • Автор темы
  • Участник
  • *
  • Сообщений: 129
  • Да будет crossplatform!
    • Просмотр профиля
Системное программирование
« : 16 Октября 2011, 17:11:28 »
всем доброго времени суток. появилась необходимость выполнять лабораторные по курсу системное програмное обеспечение (в универе). была выдана методичка. все бы хорошо, но приведенные в ней задания и примеры сделаны на ассемблере, и предпологают досовскую его версию (tasm, masm). список заданий включает работу с процессором в защищенном режиме, и т.д. Может кто знает, есть ли возможность делать тоже самое на С и в Linux? список литературы был бы самым оптимальным вариантом.

Оффлайн hippi90

  • Активист
  • *
  • Сообщений: 433
    • Просмотр профиля
Re: Системное программирование
« Ответ #1 : 16 Октября 2011, 17:26:22 »
Вас ядро не пустит в защищенный режим, это пережиток досового наследия. Я могу посоветовать только литературу именно по системному программирования в среде Linux.

Оффлайн S_F_H

  • Автор темы
  • Участник
  • *
  • Сообщений: 129
  • Да будет crossplatform!
    • Просмотр профиля
Re: Системное программирование
« Ответ #2 : 16 Октября 2011, 17:30:52 »
а через QEmu? или если запускать их до загрузки ОС? вообще можно ли на С написать код для перехода в защищенный режим? вся проблема в том, что крайне впадлу работать с ассемблером....

Оффлайн Белый пони

  • Любитель
  • *
  • Сообщений: 63
    • Просмотр профиля
Re: Системное программирование
« Ответ #3 : 16 Октября 2011, 17:36:42 »
Я могу посоветовать только литературу именно по системному программирования в среде Linux.

Посоветуй мне!:)

Оффлайн hippi90

  • Активист
  • *
  • Сообщений: 433
    • Просмотр профиля
Re: Системное программирование
« Ответ #4 : 16 Октября 2011, 17:53:24 »
Посоветуй мне!:)
Классический труд - Стивенс, UNIX. Профессиональное программирование. Еще хорошая книга - Роберт Лав, Linux.Системное программирование. У Стивенса есть еще ряд фундаментальных книг, которые должны стоять на полке, это - Уильям Стивенс, Unix. Взаимодействие процессов и Стивенс, UNIX. Разработка сетевых приложений. Из чтива по ядру могу предложить Д. Бовет, М. Чезати, Ядро Linux и Роберт Лав, Разработка ядра Linux.

Оффлайн Белый пони

  • Любитель
  • *
  • Сообщений: 63
    • Просмотр профиля
Re: Системное программирование
« Ответ #5 : 16 Октября 2011, 18:01:28 »
Посоветуй мне!:)
Классический труд - Стивенс, UNIX. Профессиональное программирование. Еще хорошая книга - Роберт Лав, Linux.Системное программирование. У Стивенса есть еще ряд фундаментальных книг, которые должны стоять на полке, это - Уильям Стивенс, Unix. Взаимодействие процессов и Стивенс, UNIX. Разработка сетевых приложений. Из чтива по ядру могу предложить Д. Бовет, М. Чезати, Ядро Linux и Роберт Лав, Разработка ядра Linux.
Спасибо!

Оффлайн hippi90

  • Активист
  • *
  • Сообщений: 433
    • Просмотр профиля
Re: Системное программирование
« Ответ #6 : 16 Октября 2011, 18:09:26 »
а через QEmu? или если запускать их до загрузки ОС? вообще можно ли на С написать код для перехода в защищенный режим? вся проблема в том, что крайне впадлу работать с ассемблером....
А можно пример задания из методички, я просто слабо себе представляю, как системное программирование под дос на ассемблере можно увязать с Linux. Просто если в досе, насколько я помню, большая часть работы выполняется путем прерываний, то в Linux вам доступно только одно прерывание для выполнения системного вызова, всю работу выполняет ядро, никаких переходов реальный/защищенный режим оно вам сделать не даст.

Оффлайн S_F_H

  • Автор темы
  • Участник
  • *
  • Сообщений: 129
  • Да будет crossplatform!
    • Просмотр профиля
Re: Системное программирование
« Ответ #7 : 16 Октября 2011, 21:25:24 »
вот сама методичка...

http://zalil.ru/31879294

Пользователь решил продолжить мысль 17 Октября 2011, 18:38:32:
Народ, неужели никто не поможет?:(((
« Последнее редактирование: 17 Октября 2011, 18:38:32 от S_F_H »

Оффлайн qpalzz

  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: Системное программирование
« Ответ #8 : 22 Октября 2011, 12:55:20 »
пишите лучше как написано в методичке, тут с линуксом практически ничего общего нет

Оффлайн Sеr

  • Любитель
  • *
  • Сообщений: 60
  • Познаю мир, пока не в вузе...
    • Просмотр профиля
Re: Системное программирование
« Ответ #9 : 23 Октября 2011, 22:48:26 »
Не знаю точно, но возможно, можно попробовать эмулировать дос... В виртуал бокс там.
Попробуй в каком нибудь эмуляторе пример сделать.
Просто мне непонятно, как эмулятор будет делать переходы реальный/защищенный режим.
А на си переписывать ассемблерный код для доса + делать прерывания - по-моему, в некоторой степени, извращение... В том смысле, что задолбаешься переписывать всю эту ассемблерную лабуду на си.
Я думаю, реально лучше сделать как там написано. Тем более, что линукс тут, видимо, в принципе не рассматривается.
« Последнее редактирование: 23 Октября 2011, 22:53:08 от Sеr »

Оффлайн Vovaldo

  • Любитель
  • *
  • Сообщений: 82
  • Ху Тин Пуй
    • Просмотр профиля
    • Путин забрал у Медведева инновационный орган
Re: Системное программирование
« Ответ #10 : 24 Октября 2011, 07:34:06 »
Вас ядро не пустит в защищенный режим, это пережиток досового наследия.
Защищённый режим с реальным не спутали? Вообще-то, именно в защищённом режиме нынче всё и работает.

Пользователь решил продолжить мысль 24 Октября 2011, 07:37:12:
вот сама методичка...

http://zalil.ru/31879294

Пользователь решил продолжить мысль 17 Октября 2011, 18:38:32:
Народ, неужели никто не поможет?:(((
Нет. Чем больше неучей - тем меньше конкуренция и больше зарплата. А то деловые такие - думать никто не хочет, только деньги получать. :coolsmiley:
« Последнее редактирование: 24 Октября 2011, 07:37:12 от Vovaldo »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Системное программирование
« Ответ #11 : 24 Октября 2011, 13:17:02 »
...
Нет. Чем больше неучей - тем меньше конкуренция и больше зарплата. А то деловые такие - думать никто не хочет, только деньги получать. :coolsmiley:
Гы =)
Если не учить подрастающее поколение можно снова огрести как на саяношушенской ГЭС
Но вобщем поддерживаю =)

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Системное программирование
« Ответ #12 : 24 Октября 2011, 13:31:09 »
Глянул методичку. Там прямым текстом написано юзать MS-DOS.

PS: никак не пойму: зачем учить винапи на кафедре системное программирование...
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Системное программирование
« Ответ #13 : 24 Октября 2011, 17:07:54 »
вот сама методичка...

http://zalil.ru/31879294

Пользователь решил продолжить мысль 17 Октября 2011, 18:38:32:
Народ, неужели никто не поможет?:(((
Задачи из этой методички решены на сайте http://sasm.narod.ru/docs/pm/pm_main.htm садись, два по гуглингу.

Оффлайн S_F_H

  • Автор темы
  • Участник
  • *
  • Сообщений: 129
  • Да будет crossplatform!
    • Просмотр профиля
Re: Системное программирование
« Ответ #14 : 24 Октября 2011, 21:02:00 »
ну то, что их решение есть в интернете, это я итак знал, а вообще меня интересовала возможность поглубже изучить эту тему. спсибо за советы всем.

 

Страница сгенерирована за 0.04 секунд. Запросов: 25.