나는 리눅스에서 일하고 친구는 Windows 7에서 일합니다.
NetBeans, Eclipse, pgAdmin 및 기타 프로그램이 실제로 Windows보다 Linux에서 훨씬 더 많이 열리는 속도에 놀랐습니다.
시간로드 차이를 일으키는 Linux와 Windows 커널의 주요 차이점은 무엇입니까?
두 시스템 모두 정확히 동일한 하드웨어 구성을 갖습니다.
나는 리눅스에서 일하고 친구는 Windows 7에서 일합니다.
NetBeans, Eclipse, pgAdmin 및 기타 프로그램이 실제로 Windows보다 Linux에서 훨씬 더 많이 열리는 속도에 놀랐습니다.
시간로드 차이를 일으키는 Linux와 Windows 커널의 주요 차이점은 무엇입니까?
두 시스템 모두 정확히 동일한 하드웨어 구성을 갖습니다.
답변:
이것은 단지 내 추측이지만, 일단 모든 것이 컴파일되면 (이진 데이터로 변환되어 컴퓨터가 실행할 수있는) 회사에서 일할 때 아무도 더 이상 소스 코드를 볼 수 없다고 생각합니다. 작동하는 한 중요하지 않습니다 .
Linux는 오픈 소스이므로 원하는 경우 모든 사람이 소스 코드를 볼 수 있습니다. 게으르고 시스템이나 종류를 느리게 만드는 정말 엉뚱한 코드를 작성하면 모두가 본 것처럼 명성이 있습니다. 개발자와 사용자 모두 비슷합니다. 이것이 오픈 소스 개발자가 게으른 경향이있는 이유 중 하나라고 생각합니다.
또한 Windows 커널의 핵심은 오늘날의 것이 되려는 의도로 작성되지 않았으며 (Linux는 아니었지만 이전 비트를 최적화하려는 노력을 기울였습니다) 개발자는 항상 추가하고 추가하고 있습니다. 코드가 너무 비밀스러워서 아무도 더 이상 무언가를 만들 수 없을 때까지. 지저분한 코드의 두 가지 속성은 종종 중복성이 많고 더 이상 두 코드 간의 링크를 쉽게 볼 수 없으므로 최적화를 시작할 수조차 없다는 것입니다. 단지 예 (비밀 한 것이 아님);
for (int i = 0; i < 20; i++)
{
if (x == y)
{
if (z <= u)
{
goto banana;
}
}
}
위의 예는 훨씬 더 효율적으로 수행 될 수 있습니다.
for (int i = 0; (i < 20) && (x == y) && (z <= u); i++)
{
banana ();
}
이것은 단지 제 의견이지만 GNU / Linux 시스템이 Windows보다 빠르다는 여러 가지 이유가 있으며 커널과 관련이있는 것은 아닙니다.
나는 커널만으로는 답이 아니라고 믿는다. Windows 7은 Windows가 처음으로 반응 가능하다고 생각할 정도로 반응이 좋았습니다.
속도 차이의 더 많은 부분이 소프트웨어 엔지니어링에 대한 @RobinJ의 생각과 관련이 있다고 생각합니다. Windows의 모든 기능 *은 일종의 Microsoft 프레임 워크 또는 다른 프레임 워크를 통해 MSDN에 구축되어 있습니다. 이것은 실제로 Big Business가 Microsoft를 좋아하는 방식과 관련이 있습니다. Microsoft는 다양한 프로그램 / 스위트 / 기술이 서로 대화 할 수 있도록 도와줍니다.
다음으로 개발자가 필수 사항을 쉽게 다루고 휠을 다시 만들지 않도록하기 위해 Microsoft는 제조업체가 Microsoft Visual C ++ 2008 재배포 가능 패키지와 같은 사전 컴파일 된 라이브러리를 번들로 제공하거나 요구할 수 있도록합니다. 또는 .Net4.0, MSSQL 2005, 광고 구역. 개발자가 새 소프트웨어를 사용하기 위해 Windows 컴퓨터에 설치 및 사용하고 최종 사용자가 설치해야하는 10 년 분량의 패키지가 있습니다.
따라서 Zyzzyx 프로그램을로드하고 실행하려면 하나 이상의 MSDN 재배포 가능 라이브러리가 존재하고 실행 중이어야합니다. 이 라이브러리는 프로그램이 OS와 상호 작용하는 방식을 결정합니다.
요약하자면, 수십 년에 걸친 소프트웨어에서 Window의 의도적 인 호환성으로 인해 리눅스 시스템이 부풀어지고 때로는 느리게 진행될 것이라고 생각합니다. 또한 Windows 용 비주얼 소프트웨어는 개발했지만 Linux 용은 아닙니다 .GTK, Qt, Py 등은 아닙니다. 리눅스가 덜 부풀어 오른다는 가정은 바로 그 것입니다.
추가로 편집 : FOSS 소프트웨어는 사람들이 항상 그것을 개선하도록합니다. 따라서 GTK는 GTK-2005와 GTK-2008이 동일한 컴퓨터에있는 것이 아니라 시간이 지남에 따라 개선되는 반면 Microsoft는 항상 그렇게합니다.
* -예외가 있습니다. 확실합니다.