Ваша проблема с памятью ограничена набором микросхем. Адресный декодер 945G поддерживает только адресное пространство 4 ГБ, поэтому все, что нужно для хранения в нехватке памяти (например, сопоставления устройств), уменьшает объем оперативной памяти, доступной для ОС.
(G)MCH обеспечивает максимальное пространство декодирования адреса основной памяти 4 ГБ (2 ГБ для 82945GC/82945GZ /82945PL). (G)MCH не переназначает пространство памяти APIC или PCI Express. Это означает, что, поскольку объем физической памяти, заполненной в системе, достигает 4 ГБ (2 ГБ для 82945GC/82945GZ /82945PL), будет существующая физическая память, которая еще не адресована и поэтому не может использоваться системой. - спецификация чипсета 945G
Ваш BIOS довольно старый и, вероятно, зарезервировал 1 ГБ для сопоставления устройств с низким уровнем, просто чтобы убедиться, что на нем достаточно места. Это, вероятно, больше, чем необходимо, и может быть вариант BIOS, чтобы изменить его, но это не так вероятно, потому что во время разработки BIOS это не было серьезной проблемой. Ни системы на 4 ГБ, ни 64-битные ОС не были распространены на потребительских системах среднего уровня.
... Или что только половина (1.6) из 3gb пригодных для использования (из установленных 4gb) доступна ...
Вы неправильно понимаете этот номер. Используется вся используемая память, за исключением очень небольшого объема, который должен оставаться свободным в случае, если обработчикам прерываний требуется память. 1,6 ГБ - это, прежде всего, сумма, используемая для непосредственного обслуживания запросов приложений, и система не может использовать для этой цели больше, чем запрос приложений. Баланс используется для других целей, таких как кэширование.
Проблема с процессором заключается в том, что программа, которую вы запускаете, использует только один поток за раз, чтобы выполнять свою вычислительно интенсивную работу. Один поток может работать только в одном ядре за раз. Таким образом, максимальная нагрузка на двухъядерный процессор составляет 50%. В зависимости от того, какую программу вы используете и как вы ее используете, вы можете запустить ее в многопоточном режиме, который позволит использовать в своих интересах более одного ядра.