Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Установка и настройка Unix/Linux/FreeBSD


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Асмик Гаряка
Статус: Советник
Рейтинг: 1
∙ повысить рейтинг »
Хватов Сергей
Статус: Академик
Рейтинг: 0
∙ повысить рейтинг »
Роман Селиверстов
Статус: Советник
Рейтинг: 0
∙ повысить рейтинг »

∙ Linux / UNIX

Номер выпуска:1363
Дата выхода:15.07.2016, 17:51
Администратор рассылки:Хватов Сергей (Академик)
Подписчиков / экспертов:28 / 9
Вопросов / ответов:3 / 5

Консультация # 26240: в чем разница между mandrivalinux 2005 и mandrakelinux 10.1 powerpack+. Если судить по цене от линуксцентра то их стоимость соответственно 500 и 1500 руб., т.е. в mandrakelinux 10.1 powerpack+ дистрибутив (программ) побольше или что?....
Консультация # 181096: Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос: вычислить значение функции f(x,k)=(x(2k+1)+x(5k-1))/(2k+1). Вычисление х(2k+1) и x(5k-1) выполнить в двух процессах-потомках соответственно. Задать x и k в родительском процессе и передать сообщением процессам-потомкам. Результаты расчета потомки передают сообщением родит...
Консультация # 24419: У меня стоит модем Zyxel Omni 56K PCI и Suse 9.2 Как мне установить модем под этой ОС? Заранее благодарен за ответ... ЗЫ А где находятся исходники ядра?...

Консультация # 26240:

в чем разница между mandrivalinux 2005 и mandrakelinux 10.1 powerpack+. Если судить по цене от линуксцентра то их стоимость соответственно 500 и 1500 руб., т.е. в mandrakelinux 10.1 powerpack+ дистрибутив (программ) побольше или что?.

Дата отправки: 13.09.2005, 01:10
Вопрос задал: Ndkr
Всего ответов: 3
Страница онлайн-консультации »


Консультирует John Freeman:

Здравствуйте, Ndkr!
Для начала вот что - Mandriva это Mandrake , новый, mandrake больше не будет, последний 10.2, а стоимость такая из-за powerpack, там софта коммерческого и не только МНОГО в комплекте, а не только GNU/GPL

Консультировал: John Freeman
Дата отправки: 13.09.2005, 01:16
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует sonic:

Здравствуйте, Ndkr!
mandrivalinux 2005 это дистрибутив который можно свободно скачать и пользовать.
mandrakelinux 10.1 powerpack+ это коробочный вариант от самой мандрива..там есть некоторый софт которого нету в обычном дистрибутиве, плюс техподержка.

Консультировал: sonic
Дата отправки: 13.09.2005, 09:07
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Lucifer:

Здравствуйте, Ndkr!
различие в том что mandrakelinux 10.1 powerpack+ идет вместе со всеми исходниками по мимо rpm пакетов а в mandrivalinux 2005 такого нет, кстати хочу заметить что mandrivalinux это переименнованный mandrakelinux

Консультировал: Lucifer
Дата отправки: 13.09.2005, 14:33
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 181096:

Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос:
вычислить значение функции f(x,k)=(x(2k+1)+x(5k-1))/(2k+1). Вычисление х(2k+1) и x(5k-1) выполнить в двух процессах-потомках соответственно. Задать x и k в родительском процессе и передать сообщением процессам-потомкам. Результаты расчета потомки передают сообщением родителю.

Дата отправки: 04.12.2010, 02:24
Вопрос задал: Alexkharkov
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Micren:

Здравствуйте, Alexkharkov!
Программа(С++):

#include <cstdlib>
#include <cstdio>
#include <iostream>
#include <limits>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <errno.h>

using namespace std;

// Это будет использоваться для генерации ключа
const int ID = 1;

// Данные, которые будем передавать

struct data_t
{
    double x;
    unsigned k;
};

// Сообщение

struct message
{
    long msgtype;

    // Объединил только из лени. Неохота писать еще одну struct

    union
    {
        data_t srcdata;
        double result;
    } data;
};

// Будем использовать для ввода данных
template<class T> T input(const char* const msg);
// Процессы
int process1();
int process2();
// Будем использовать для запуска процессов.
pid_t startProcess(int (*proc)());

/*
 * 
 */

int main(int argc, char** argv)
{
    // Получим ключ
    key_t key = ftok(".", ID);

    // Создадим очередь
    int msqid = msgget(key, IPC_CREAT);
    if (msqid == -1)
    {
        perror("msgget");
        exit(EXIT_FAILURE);
    }

    // Запустим потомки
    pid_t children[2] = {startProcess(process1), startProcess(process2)};

    // Ввод
    double x = input<double>("X:");
    unsigned k = input<unsigned>("K:");

    // Готовим сообщения
    message msg1, msg2;
    msg1.data.srcdata.x = msg2.data.srcdata.x = x;
    msg1.data.srcdata.k = msg2.data.srcdata.k = k;
    msg1.msgtype = 1;
    msg2.msgtype = 2;
    // Отсылаем
    if ((msgsnd(msqid, &msg1, sizeof (msg1.data), 0) == -1) || (msgsnd(msqid, &msg2, sizeof (msg2.data), 0) == -1))
    {
        perror("msgsnd");
        exit(EXIT_FAILURE);
    }

    message res1, res2;

    // Получаем ответ
    if (msgrcv(msqid, &res1, sizeof (res1.data), 3, 0) == -1 || msgrcv(msqid, &res2, sizeof (res2.data), 3, 0) == -1)
    {
        perror("msgrcv");
        exit(EXIT_FAILURE);
    }

    // Считаем результат
    double result = (res1.data.result + res2.data.result) / (2 * k + 1);

    cout << "Результат:" << result << endl;

    return (EXIT_SUCCESS);
}

template<class T>
T input(const char* const msg)
{
    T res = 0;
    while (true)
    {
        cout << msg;
        cin >> res;
        if (cin.fail())
        {
            cin.clear();
            cin.ignore(numeric_limits<streamsize>::max(), '\n');
            cout << "Ошибка ввода." << endl;
        }
        else
        {
            return res;
        }
    }
}

int process1()
{
    // Получаем ключ аналогичным образом
    key_t key = ftok(".", ID);
    // Очередь
    int msqid = msgget(key, 0);
    if (msqid == -1)
    {
        perror("msgget");
        return EXIT_FAILURE;
    }

    message inmsg, outmsg;
    // Получаем сообщения
    if (msgrcv(msqid, &inmsg, sizeof (inmsg.data), 1, 0) == -1)
    {
        perror("msgrcv");
        return EXIT_FAILURE;
    }
    // Готовим ответ
    outmsg.msgtype = 3;
    outmsg.data.result = inmsg.data.srcdata.x * (2 * inmsg.data.srcdata.k + 1);
    // Отсылаем
    if (msgsnd(msqid, &outmsg, sizeof (outmsg.data), 0) == -1)
    {
        perror("msgsnd");
        return EXIT_FAILURE;
    }
    return 0;
}

int process2()
{
    key_t key = ftok(".", ID);
    int msqid = msgget(key, 0);
    if (msqid == -1)
    {
        perror("msgget");
        return EXIT_FAILURE;
    }
    message inmsg, outmsg;
    if (msgrcv(msqid, &inmsg, sizeof (inmsg.data), 2, 0) == -1)
    {
        perror("msgrcv");
        return EXIT_FAILURE;
    }
    outmsg.msgtype = 3;
    outmsg.data.result = inmsg.data.srcdata.x * (5 * inmsg.data.srcdata.k - 1);
    if (msgsnd(msqid, &outmsg, sizeof (outmsg.data), 0) == -1)
    {
        perror("msgsnd");
        return EXIT_FAILURE;
    }
    return 0;
}

pid_t startProcess(int (*proc)())
{
    pid_t result = 0;
    // Создаем процесс
    if ((result = fork()) == -1)
    {
        perror("fork");
        exit(EXIT_FAILURE);
    }
    else if (!result)
    {
        // В потомке запускаем функцию
        _exit(proc());
    }
    // Вернем pid хотя в данной программе и не используем
    return result;
}

Пример работы:
X:4
K:2
Результат:11.2

Консультировал: Micren
Дата отправки: 04.12.2010, 23:44
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 24419:

У меня стоит модем Zyxel Omni 56K PCI
и Suse 9.2
Как мне установить модем под этой ОС?
Заранее благодарен за ответ...
ЗЫ
А где находятся исходники ядра?

Дата отправки: 02.08.2005, 10:45
Вопрос задал: Gosu_killer
Всего ответов: 1
Страница онлайн-консультации »


Консультирует deyatinor:

Здравствуйте, Gosu_killer!
Не совсем понятно, этот модем аппаратный, программный или полуаппаратный, поэтому советы довольно общие.
Для начала зайдите в Yast. Там есть вкладка "Аппаратное обеспечение"(Hardware). В ней подпункт "Модем". Попробуйте определить модем там. Если модем будет найден, то все прекрасно, драйвера есть в ядре, можно звонить и подключаться.
Если модем не будет найден, тогда он скорее всего полуаппаратный или программный. Тогда надо посмотреть, на каком чипе он построен и искать драйвера для этого чипа (например, на сайте linuxant.com есть драйвера для чипа conexant). Параметры модема (точнее, устройства PCI, если модем не установится) можно посмотреть в том же yast, там есть пункт "Список устройств" (он может называться по-другому). Устанавливать драйвера, если они в формате rpm тоже через yast.
Исходники ядра находятся в /usr/src/linux

Консультировал: deyatinor
Дата отправки: 02.08.2005, 12:02
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное