2009-05-14 2 views
5

컴퓨터 과학 학생으로 취하는 "운영 체제"및 "컴퓨터 아키텍처"과정을 완벽하게 이해하려면 하드웨어 이해 정도가 어느 정도입니까?컴퓨터 과학에 대한 하드웨어 지식은 무엇입니까?

+0

분명히하기 위해 comp sci 학생으로 취할 "운영 체제"및 "컴퓨터 아키텍처"과정을 완전히 이해하는 데 필요한 하드웨어 이해 정도를 묻는 것처럼 들립니다. 그 맞습니까? –

+0

@yx : 그는 운영체제와 컴퓨터 아키텍처와 같은 것을 이해하기 위해 하드웨어를 이해해야하는지 묻습니다. 그래도 나는 잘 모르겠다. 그것은 매우 비밀스러운 질문입니다. – Welbog

+0

@mike 그것은 훨씬 더 의미가 있습니다. 잠시 그 ​​사람은 OS를 하드웨어로 취급하고 있다고 생각합니다. –

답변

2

두 가지 생각 :

먼저 모든 것이 평행 할 것입니다. 멀티 스레딩은 한 가지, 멀티 코어는 다른 것입니다. 캐싱, 메모리 아키텍처, 리소스 할당 등에 관한 많은 논란이 있습니다.이 중 많은 부분이 '처리'되어 있지만 금속에 대해 더 잘 알수록 좋습니다.

두 번째로 하드웨어의 숫자 표현입니다. 이것은 컴퓨터 과학만큼 오래되었지만 여전히 모든 사람을 여행합니다. 누가이 말을했는지는 확실하지 않지만 그것은 지사입니다. "numberrs의 무한대를 한정 수의 비트에 매핑하는 것은 근사치를 포함합니다." 이 수치와 일반적인 수치 해석을 이해하면 베이컨의 시간을 절약 할 수 있습니다. 직렬화 및 엔디안 등

게다가 재미 있습니다!

4

이 수준에서는 더 잘 알지만 더 이상 필요성은 컴퓨터 아키텍처에 대한 부울 논리 디자인입니다. 기본 논리 단위 (및 또는 클럭)에서 어떻게 레지스터, 덧셈기, 멀티플렉서, 플립 플롭 등을 디자인하는지 이해하십시오. ASM, 메모리 매핑 IO 및 인터럽트에 대한 기본적인 이해부터 시작하여 운영 체제를 이해할 수 있습니다.

편집 : "하드웨어"가 무엇을 의미하는지 확신 할 수 없지만 논리 디자인을 하드웨어로 간주합니까? 아니면 트랜지스터에 대해서 말하고 있었습니까? 나는 반도체의 기본을 이해하는 데 상처를주지 않을 것이라고 생각하지만, 아키텍처는 실제 하드웨어 레벨보다 추상화되어 있습니다. 또한 운영 체제가 아키텍처 위에 추상화되었다고 말하고 싶습니다.

2

"컴퓨터 과학은 망원경에 관한 천문학보다 컴퓨터에 관한 것이 아닙니다."

+0

네,하지만 유추가 완전히 잘못되었습니다. 컴퓨터 아키텍처는 컴퓨터에 관한 것입니다 (망원경 설계 필드를 삽입하십시오)는 망원경에 관한 것입니다. –

+2

잘못된 방식으로 해석되지 않는 한 적절한 인용 부호. 망원경에 대해 아무것도 모르는 천문학자는 천문학에서 뛰어나지 않을 것입니다. –

+0

정확히 그게 핵심입니다. 망원경이 어떻게 작동하는지, 그 뒤에있는 물리학, 그 특징 및 한계를 잘 모르는 사람은 아주 가난한 천문학 자입니다. –

4

매우 기본적인 수준에서는 Von Neumann architecture에 대해 알아야하며 실제 컴퓨터에 매핑하는 방법을 알아야합니다. 그 이상, 더 나은. 운영 체제뿐만 아니라 쓰레기 수거시 & VM 언어, 힙, 스택 및 지침이 어떻게 실행되고 실행되는지, 따라서 아키텍처의 성능을 극대화하기 위해 수행 할 작업과 개선 방법을 파악할 수 있습니다.

1

Comp Sci 연구에 일반적으로 필요한 하드웨어 지식에 대한 기본 지식 집합을 결정하는 좋은 방법은 다양한 권위있는 대학의 커리큘럼 웹 사이트를 방문하는 것입니다. 저는 MIT, Stanford, Urbana/Champaign (UIUC), Georgia Tech 등에서 Comp Sci 커리큘럼을 확인했습니다. 그런 다음 평균적인 이해를 얻었습니다.

또한 개인적으로 요구 사항을 파악하기 위해 참석하거나 신청하는 대학의지도 카운슬러에게 개인적으로 전화를 걸 수 있습니다. 그들은 당신의 욕망에 따라 당신을 인도 할 수 있습니다. 교수님은 훨씬 더. 그들은 놀라 울 정도로 접근 가능하며 이와 같은 것에 대한 피드백을 매우 기꺼이 제공합니다.

최근에 나는 석사 학위를 얻는 것을 보았습니다. UIUC의 명반으로, 저는 몇 명의 오래된 교수에게 이메일을 보내서 제 관심사를 말했습니다. 나는 gradschool과 그들의 관점을 이해하는 것에 초점을 맞춘 몇 가지 질문을 그들에게 물었다. 그들은 나에게 전화를 걸어 채팅을하도록 가장 많이 나누었습니다.

저는 개인적으로 @CookieOfFortune에 동의합니다. 컴퓨터가 내부적으로 어떻게 작동하는지 더 많이 알수록 소프트웨어를 작성하는 동안 더 많은 이점을 활용할 수 있습니다. 즉, 마치 전자 공학의 물리학을 고도로 이해할 필요가있는 것처럼 아닙니다. 흥미 롭습니다.하지만 회로, 논리 등에 중점을 두어야합니다.이 중 많은 부분을 좋은 운영 체제 과정에 제시하거나 적어도 스스로 학습하는 스프링 보드를 제공해야합니다.

2

타겟팅하는 하드웨어를 최적화하려고 할 때 도움이됩니다. 예를 들어 하드 드라이브를 사용하면 검색 시간을 최소화하기 위해 지역을 이용하는 소프트웨어를 작성하는 데 도움이됩니다. 하드 드라이브를 '작동합니다'로 취급하고 파일과 데이터를 모든 곳에 고정하면 심각한 단편화 문제가 발생하고 성능이 저하됩니다.

성능을 최대화하려고 시도하기 때문에 운영 체제를 설계 할 때는이 부분을 고려해야합니다. 간단히 말해서, 그것에 대해 무언가를 배우는 것이 도움이 될 수 있으며, 어떤 방법으로도 상처 입을 수는 없습니다.

관련 문제