Автор Гілка: Що б ви бажали почути про *nix, на третьому курсi?  (Прочитано 18377 раз)

Відсутній akalenuk

  • Новачок
  • *
  • дописів: 7
  • Карма: +0/-0
Є таке діло: мене покликали читати курс "Операційні системи та системне програмування" на третьому курсі політеха. Це третій семестр, перші два вони товкли асемблер у ступі, при тому під ДОС. Хоча я дуже поважаю ДОС і асемблер, у цьому випадку це було досить бессистемно і малокорисно. Практично, мені треба перечитати їм трьохсеместровий курс з нуля і за семестр. Це добре, бо в таких екстремальних умовах у мене більше прав щодо створення робочої програми, отже я можу кілька лекцій та практик відвести *nix системам.

Я можу багато чого розказати про ДОС, або обидві вінди в плані системного програмування, але другий лінукс у житті (та ще й Убунту, першим був десятий Мандрейк, але то було кілька років тому і недовго я їм користувався) я налаштував лише минулого тижня і ще зовсім не знаю особливостей: тих моментів, про які власне треба розповідати. Отже, якщо б ви були на третьому курсі політеха, що б ви бажали довідатися про *nix і про програмування під *nix? Поки є час, я спробую сам в цьому розібратися і якось оформити у вигляді лекцій.

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
щось таке, базове, без GUI:
http://www.linux.org.ru/books/wunix.html
http://www.linux.org.ru/books/
тобто:
- файлова система, права доступа, структура каталогів , пристрої замість логічних дисків
- bash та базові команди, перенаправлення вводу-виводу (воно є й у ДОС)
- вхід в систему, реєстрація користувачів, root/sudo/su
- vi/vim обов'язково, а то в мене колись очі на лоба полізли, коли довелось з ним працювати вперше
- початки мови shell
- компіляція з сирців чогось: ./configure, make, make install
- щодо програмування, то напевно почати треба с gcc - написання, компіляція й запуск простих прог на С.
« Змінено: 2007-09-06 16:46:25 від noddeat »
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній akalenuk

  • Новачок
  • *
  • дописів: 7
  • Карма: +0/-0
Спасибі за список. Спробую втиснути хоча б більшу частину.

- vi/vim обов'язково, а то в мене колись очі на лоба полізли, коли довелось з ним працювати вперше
- початки мови shell

В мене всього 18 лекцій і 18 практик на весь курс. З них на *nix випаде дві-три, а на shell треба хоча б пару лабораторних дати. Тому якщо і зможу дати, то оглядово. А про vii так взагалі про ":help" розкажу - і хай вже далі самі розбираються :-)

- щодо програмування, то напевно почати треба с gcc - написання, компіляція й запуск простих прог на С.

Це вже окремий курс. Якщо навчаться компілювати з сирців - потім самі розберуться, що як писати. Мені скоріш цікаві тонкі моменти. Я знаю, що розповідаючи про вінду, наприклад, обов'язково зазначу реєстр, хукі, обробку меседжів та те, як в ній організована многозадачність. Бо це ті речі, які відрізняють вінду від того ж ДОСа, який студенти все знають. А от чим характерно відрізняється *nix від ДОСа у плані програмування - я ще сам не знаю. Знаю, що відрізняється :-) але поки в мене немає досвіду програмування під *nix, тому і питаю у тих, хто знає чим.

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Спочатку - елементарні дані про планування в ядрі (славний привід поговорити про CFS, ага). Та взагалі про те, які ті ядра бувають. Далі - багатопроцесове програмування (наш коханий fork з exec). Міжпроцесова взаємодія (семафори, е-е-е... пайпи, особливо - іменовані пайпи aka fifo, сигнали). Файлові системи (особисто я в цьому дуб повний, якось руки не доходять просвітитись). У всякому разі sys/stat.h варто роздрукувати і повісити на стінці=) Ну, робота з файлами - це нудьга смертна, а от якісь варіації на тему мережевого програмування (кинуть там в сусіда пакетом) не завадили б, хоча це вже таке...

А ще одне - C і тільки C (за розширення cpp та використання g++ раджу бити по руках). Після цього все інше вивчається на раз.

На конкретних інструментах не зациклюйтесь, mcedit/nedit та терміналу вистачить з головою.

Відсутній diligent

  • Кореспондент
  • ***
  • дописів: 201
  • Карма: +0/-0
Рік назад теж читав на третьому курсі цей курс, то ж, якщо пошукати, можна знайти й лабораторні, й деякі лекції. Якщо потрібно - пиши в особисті повідомлення. До речі - який політех? Часом не ОНПУ? ;)
Software is like sex: it's better when it's free.  (c) Linus Torvalds

Praporshic

  • Гість
Flood:
Добре що Вам не потрапити на заочне відділення фізтеху КПІ - буде складно щось пояснити про *nix людям які ними на життя заробляють ;)
« Змінено: 2007-09-06 23:11:07 від Praporshic »

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Flood:
Добре що Вам не потрапити на заочне відділення фізтеху КПІ - буде складно щось пояснити про *nix людям які ними на життя заробляють ;)
Ті, що на життя заробляють, на пари не ходять - це я вам точно кажу=))

Praporshic

  • Гість
А хіба це полегшує завдання ;)

Відсутній akalenuk

  • Новачок
  • *
  • дописів: 7
  • Карма: +0/-0
Рік назад теж читав на третьому курсі цей курс, то ж, якщо пошукати, можна знайти й лабораторні, й деякі лекції. Якщо потрібно - пиши в особисті повідомлення. До речі - який політех? Часом не ОНПУ? ;)

КПІ. Теплоенергетичний факультет. Не заочники :-)

Відсутній akalenuk

  • Новачок
  • *
  • дописів: 7
  • Карма: +0/-0
Flood:
Добре що Вам не потрапити на заочне відділення фізтеху КПІ - буде складно щось пояснити про *nix людям які ними на життя заробляють ;)

Влаштував би семінар, хай вони б мені щось пояснили :-)

Відсутній Soft

  • Кореспондент
  • ***
  • дописів: 100
  • Карма: +0/-0
  • Чому саме Лінукс?
Є таке діло: мене покликали читати курс "Операційні системи та системне програмування" на третьому курсі політеха. Це третій семестр, перші два вони товкли асемблер у ступі, при тому під ДОС. Хоча я дуже поважаю ДОС і асемблер, у цьому випадку це було досить бессистемно і малокорисно. Практично, мені треба перечитати їм трьохсеместровий курс з нуля і за семестр. Це добре, бо в таких екстремальних умовах у мене більше прав щодо створення робочої програми, отже я можу кілька лекцій та практик відвести *nix системам.

А що, *nix - системи це пуп землі? Чи ви самі николи специалізованих ОС не писали. От я писав, воно навіть працювало на MSC51. А DOS це дуже гарна ОС з єкзоядром, коли навіть менеджер пам'яті можна замінинти на свій.

Відсутній akalenuk

  • Новачок
  • *
  • дописів: 7
  • Карма: +0/-0
А що, *nix - системи це пуп землі?

Ні. Але *nix-ами користується набагато більше людей, ніж специалізованими ОС. А курс дуже сжатий. Практично один семестр замість трьох, отже час є тільки на найпопулярніше. Хоча, якщо ви можете запропонувати щось цікаве, я буду дуже вдячний.

Чи ви самі николи специалізованих ОС не писали.

Ні, я не цим заробляю і розважаюсь інакше, тому і знаю про розробку ОС дуже мало. Але це, напевно, дуже цікаво.

От я писав, воно навіть працювало на MSC51. А DOS це дуже гарна ОС з єкзоядром, коли навіть менеджер пам'яті можна замінинти на свій.

Цілком погоджуюсь. У мене поряд із віндою та убунтою стоїть Freedos, правда лише для постановки розрахункових експериментів, всі можливості системи так і не використовуються.
« Змінено: 2007-09-07 17:09:24 від akalenuk »

Відсутній Soft

  • Кореспондент
  • ***
  • дописів: 100
  • Карма: +0/-0
  • Чому саме Лінукс?
А що, *nix - системи це пуп землі?

Ні. Але *nix-ами користується набагато більше людей, ніж специалізованими ОС. А курс дуже сжатий. Практично один семестр замість трьох, отже час є тільки на найпопулярніше. Хоча, якщо ви можете запропонувати щось цікаве, я буду дуже вдячний.

Набагато корисніше для них було б розказати що таке MSDN, де його брати, та чому программіст під Windows(котрими ім мабудь доведеться працювати) якщо поважає себе повинен користуватися цією документацією, а не клянчити код на тематичних серверах, як роблять усі студенти.

Відсутній Cthulhu

  • Кореспондент
  • ***
  • дописів: 183
  • Карма: +0/-0
Набагато корисніше для них було б розказати що таке MSDN, де його брати, та чому программіст під Windows(котрими ім мабудь доведеться працювати) якщо поважає себе повинен користуватися цією документацією, а не клянчити код на тематичних серверах, як роблять усі студенти.
Да-да, слухайте софта уважно, та не забудьте його гарненько попитати лінки на пірацьку вісту, він у нас великий спеціаліст по контрафакту. Якщо він буде в хорошому гуморі, то скаже=))

А людям краще розкажіть, скільки підписка на MSDN коштує, та ще той факт, що unix-програміст в Україні - штука популярна і дуже непогано оплачувана=))

Praporshic

  • Гість
Влаштував би семінар, хай вони б мені щось пояснили :-)

Ем.... наврядчи. Що я, що староста курсу маємо забагато роботи, друга половина курсу не має таких знань.