Про системное программирование
Модератор: Модераторы разделов
-
- Сообщения: 8
- ОС: Lubuntu 13.10
Про системное программирование
Всем привет. Возможно, вопрос мой будет некорректным, но всё же задам. Хочу податься в системное программирование (как хобби - не работа), изучаю С. Но, вот, не знаю, какая область может быть более привлекательна для меня. Поверхностно вопрос просмотрел свой по книгам. С ядром и модулями, драйверами вроде всё понятно: зачем и для чего это надо. А, вот, насчёт создания процессов или сокеты. Не вижу пока, так сказать, практического применения для них. Что может быть интересного в программировании процессов или сокетов? Какие ещё области системного программирования существуют? Надеюсь, что понятно вопросы задал.
-
- Сообщения: 92
Re: Про системное программирование
А, вот, насчёт создания процессов или сокеты. ... Что может быть интересного в программировании процессов или сокетов? Какие ещё области системного программирования существуют?
Это называется каша в голове. Лучше пока побыть простым "не системным" програмистом :)
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Про системное программирование
а чем вам не нравится не системное программирование? Если ответ "не круто!", то вам, деточка, в хаскель. И на ЛОР.
-
- Сообщения: 8
- ОС: Lubuntu 13.10
Re: Про системное программирование
Это называется каша в голове. Лучше пока побыть простым "не системным" програмистом
Просветите, а в чём каша?
а чем вам не нравится не системное программирование? Если ответ "не круто!", то вам, деточка, в хаскель. И на ЛОР.
Ну, вот, тянет меня в на системное программирование. Думается мне, что эта область интереснее, чем прикладное программирование.
-
- Сообщения: 92
Re: Про системное программирование
Создание процессов и сокетов если понимать их буквально это прикладной уровень. Вот если бы вопрос был: что интересного в том что бы написать свой сетевой стек и/или интерфейс socket-ов к нему. Но ведь не так.
И непонятно либо кто-то из нас "плавает" в терминологии, либо мы играем в испорченый телефон.
И непонятно либо кто-то из нас "плавает" в терминологии, либо мы играем в испорченый телефон.
-
- Сообщения: 8
- ОС: Lubuntu 13.10
Re: Про системное программирование
Наверняка, я "плаваю". Плохо пока материал знаю, так что корявенькие вопросы получаются.
А, давайте, так спрошу.
Вот если бы вопрос был: что интересного в том что бы написать свой сетевой стек и/или интерфейс socket-ов к нему.
А, давайте, так спрошу.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Про системное программирование
не, вам точно на ЛОР. Раз вас "тянет".
Другой мотивации нет, кроме "тянет"? Тогда извините, что влез в вашу дискуссию/клоунаду. Я так, мимокрокодил.
-
- Сообщения: 8
- ОС: Lubuntu 13.10
Re: Про системное программирование
Если ЛОР - это линуксоргру, то туда не хочу. Пока неважно понимаю предмет, поэтому и использую слова "тянет"и "хочу".
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Про системное программирование
ну если не хотите, то не лезьте. Впрочем, сырцы открыты, можете почитать на досуге. Хотя я так думаю, что без хорошего знания теории вам будет непонятно.
-
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Про системное программирование
bender11
Если плаваете, то пока просмотрите хотя бы книгу: Э. Таненбаум, Современные операционные системы.
Кратко, задачи ОС можно разделить на:
управление вычислительными ядрами: процессы, потоки, планирование, синхронизация
управление памятью: выделение, освобождение, разделение памяти, DMA, MMU
управление долговременной памятью: устройства накопления, файловые системы
взаимодействие с оборудованием, устройства ввода вывода (в т.ч. накопления): драйверы устройтсв, DMA, прерывания и т.п.
Если плаваете, то пока просмотрите хотя бы книгу: Э. Таненбаум, Современные операционные системы.
Кратко, задачи ОС можно разделить на:
управление вычислительными ядрами: процессы, потоки, планирование, синхронизация
управление памятью: выделение, освобождение, разделение памяти, DMA, MMU
управление долговременной памятью: устройства накопления, файловые системы
взаимодействие с оборудованием, устройства ввода вывода (в т.ч. накопления): драйверы устройтсв, DMA, прерывания и т.п.
-
- Сообщения: 8
- ОС: Lubuntu 13.10
Re: Про системное программирование
Спасибо всем, кто поучаствовал в беседе. Просмотрел несколько книжек и понял, что без хорошего понимания "С" пока за системное браться не стоит. Буду продолжать учить.
-
- Сообщения: 8
- ОС: Lubuntu 13.10
Re: Про системное программирование
Попытаюсь снова получить ответ на свой ламерский вопрос. Что интересного может быть в программировании сокетов? Ну, послал сообщение серверу. Ответил сервер. И что?
-
- Модератор
- Сообщения: 20996
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Про системное программирование
bender11
А что вообще интересного в программировании? Ну запустилась программа. Что-то сделала. И что?
А что вообще интересного в программировании? Ну запустилась программа. Что-то сделала. И что?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 8
- ОС: Lubuntu 13.10
Re: Про системное программирование
Bizdelnick писал(а): ↑25.03.2014 18:05bender11
А что вообще интересного в программировании? Ну запустилась программа. Что-то сделала. И что?
Хорошо, спрошу так: что можно делать при помощи сокетов?
-
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Про системное программирование
С прикладной точки зрения сокеты: любое общение по сети. Хоть те же браузеры.
1. Передача видео и звука, IPTV, VoIP/SIP/Skype, и всякие там RTP, RTSP.
2. Распределённые вычисления.
3. Сетевые игры. (MMO, COOP, etc)
4. Распределённые базы данных, файловые системы.
5. и много-много другого, оптимизация нагрузки, восстановление потерянных данных.
С точки зрения ОС: проколы на низком уровне.
1. Минимизация пинга.
2. Минимизация потерь, повторных пересылок данных.
3. Максимизация ширины канала.
И всё это в различных условиях: почти пустой канал, забит, например, преимущественно TCP трафиком, или UDP, или и тем и другим. А ещё broadcast, multicast.
1. Передача видео и звука, IPTV, VoIP/SIP/Skype, и всякие там RTP, RTSP.
2. Распределённые вычисления.
3. Сетевые игры. (MMO, COOP, etc)
4. Распределённые базы данных, файловые системы.
5. и много-много другого, оптимизация нагрузки, восстановление потерянных данных.
С точки зрения ОС: проколы на низком уровне.
1. Минимизация пинга.
2. Минимизация потерь, повторных пересылок данных.
3. Максимизация ширины канала.
И всё это в различных условиях: почти пустой канал, забит, например, преимущественно TCP трафиком, или UDP, или и тем и другим. А ещё broadcast, multicast.
-
- Сообщения: 8
- ОС: Lubuntu 13.10
Re: Про системное программирование
NickLion, спасибо, начинаю потихоньку понимать.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Про системное программирование
а есть альтернативы? Ну займитесь этими альтернативами, никто жеж не запрещает вам заниматься тем, что вам нравится.