Илья Китаев об ОС ФКН ВГУ (операционные системы)

Почему бы первые задачи не сделать под windows?

Потому что последние под windows сделать не получится. И если вы не наберетесь опыта программирования и отладки в linux (если такого нет), то сделать их будет крайне сложно. Рекомендуем (добровольно-принудительно) начинать с простых.

Где взять Linux.

1. WWW2. Каждый студент ФКН, имеющий учетную запись в факультетской сети, может воспользоваться сервером www2 для решения задач по курсу ОС. Для этого необходимо скачать программу PuTTY (putty.exe). В поле hostname надо написать www2, а в настройках (дерево слева) в разделе window->translation выбрать utf8. Нажимаем open. Появится черное окошко с предложением аутентифицироваться. Вам необходимо ввести свой логин (kitaev в моем случае) и пароль. Если все прошло успешно, то появится черная консоль и вы можете приступать к работе.

2. VM. Если вы пользуте собственным лэптопом (или хотите поработать дома, что скорее всего потребуется), то одним из вариантов установки линукс является использование виртуальных машин. Я рекомендую Oracle Virtual Box. Что такое виртуальная машина можно почитать тут.

3. LiveCD/DVD. В данном случае необходимо скачать какой-нибудь LiveCD (knoppix, ubuntu), записать его на соотв. носитель и загрузиться в него без установки (все файлы будут располагаться в оперативной памяти, а ваши данные останутся в первозданном виде). Такой подход имеет ряд проблем:
1. Скорее всего в Live-дистрибутиве не будут установлены необходимые для работы пакеты (gcc, gdb, vim). Это значит, что при каждой загрузке вам придется их устанавливать. Благо, в linux это можно делать одной командой.
2. Надо не забывать сохраняться на какой-нибудь внешний носитель (или же на жесткий диск, что я бы не рекомендовал делать, если вы в этом не разбираетесь), т.к. после выключения все файлики пропадут.

4. Установка ОС Linux на нативно (второй ОС).

Файловая система.

В Linux файловая система устроена иначе. Если корнем (самым низким уровнем) в ОС семейства Windows можно считать физическое устройства (диск С:), то в данном случае ф.с. - это абстракция над устроствами. Самым низким уровнем является root (a.k.a /). В нем располагаются различные папки, каждая из которых имеет свое собственное назначение. Физические устроства в подобных файловых системах монтируются в какую-то конкретную папку. Например:
/dev/sda2 /
/dev/sda3 /home

В данном случае второй раздел на физ. устройстве - это корень файловой системы, а раздел №3 содержит в себе домашние директории пользователей. В windows для каждого раздела была бы назначена соотв. буква латинского алфавита (С: В:).

Путешествовать по файловой системе можно при помощи графических файловых менеджеров, коих в linux много, а так же при помощи команд ls (вывод списка файлов текущей директории) и cd (смена директории) или текстового ф.м. mc (запускается соотв. командой). Если в вашем дистрибутиве mc не обнаружился, то установить его можно выполнив слудющую команду (справедлива для Ubuntu, Knoppix):

sudo apt-get install mc

Переход в личную директори (домашний каталог) осуществляется командой:

cd ~

Код и компиляция.

Для того, чтобы писать код, вам необходим текстовый редактор. Лично я пользуюсь vim (и вам рекомендую), но к нему надо привыкнуть, т.к. он принципиально отличается от всех тех, которые вам удалось повидать. Возможно использовать mcedit, который входит в состав пакета mc. Данный редактор покажется немного привычнее. Чтобы им воспользоваться нужно выбрать курсором существующий файл (уже будучи в mc) и нажать F4 или shift+F4 для создания нового файла.

Для примера можете написать такую программу (файл называется trulala.c):

#include < stdio.h >

int main()
{
  printf("trulala\n");
  return 0;
}

сохраняемся... (f2)

компилируем:

gcc -o trulala trulala.c

запускаем:

./trulala

P.S. Пишите, если какой-то из пунктов надо расписать подробнее или что-то добавить.