혼자 공부하는 컴퓨터구조 + 운영체제

컴퓨터 구조와 운영체제 왜 공부해야할까?

단점이없어지고싶은개발자 2022. 9. 24. 17:05
반응형

https://search.shopping.naver.com/book/catalog/33824626625?cat_id=50010921&frm=PBOKPRO&query=%ED%98%BC%EC%9E%90+%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94+%EC%BB%B4%ED%93%A8%ED%84%B0+%EA%B5%AC%EC%A1%B0%2B%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C&NaPm=ct%3Dl8flm2jc%7Cci%3D516e43e1771dc3c5b7a5d683ea699d5fbcab8849%7Ctr%3Dboknx%7Csn%3D95694%7Chk%3D4f58e9b6bc311b1391fe68d07c3b60c98dd367a5

 

혼자 공부하는 컴퓨터 구조+운영체제 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

해당 책을 정리하고, 컴퓨터구조와 운영체제에 대해서 정리한 글 모음입니다. 


왜 컴퓨터 구조와 운영체제에 대해 공부해야할까?

컴퓨터 구조와 프로그래밍은 사실 관련 없어 보인다. 컴퓨터의 구성요소를 몰라도, 프로그래밍 언어를 통해 개발하고 실행하는데 전혀 문제가 없기 때문이다.

 

컴퓨터 구조를 알면 무엇이 좋을까? 

 

프로그래밍 가으이나 책에 나오는 코드를 똑같이 작성해도 어떤 컴퓨터에서는 동작하고, 어떤 컴퓨터에서는 동작하지 않는 문제가 발생한다. 프로그래밍 언어의 문법만 알고 있다면 컴퓨터란 코드를 입력만하면 결과물을 내놓는 '미지의 대상'일 뿐이다. 하지만 컴퓨터 구조에 대해 이해하고 있다면, 문제 해결의 실마리를 다양하게 찾을 수 있다. 

 

만약 웹사이트를 개발하는 개발자라면, 서버 컴퓨터가 필요하다. 필요한 성능, 용량, 비용은 전적으로 개발자가 결정해야 한다. 너무 저렴한것을 사용하거나, 너무 비싼거를 사용하는데 지식이 없다면 아무리 개발을 해서 하더라도 사용하는 사용자가 불편함을 겪을 수 있다. 즉, 컴퓨터 구조를 이해하면 입력과 출력을 넘어서 성능, 용량, 비용까지 고려하는 개발자가 될 수 있다.


컴퓨터 구조의 큰 그림

컴퓨터 구조 지식은 크게 두 가지로 나뉜다. 하나는 '컴퓨터가 이해하는 정보'이고, 또 하나는 '컴퓨터의 네 가지 핵심 부품'이다.

 

컴퓨터는 0과 1로 표현된 정보만을 이해한다. 이렇게 표현되는 정보에는 '데이터'와 '명령어'가 있다.

컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과  같은 정적인 정보를 가리켜 데이터라고 한다. 컴퓨터와 주고받는 정보나 컴퓨터에 저장된 정보를 가리킬 때 편하게 데이터라 통칭하기도 한다. 

명령어는 데이터를 움직이고 컴퓨터를 작동시키는 정보이다.

즉, 명령어는 컴퓨터를 작동시키는 정보이고, 데이터는 명령어를 위해 존재하는 일종의 재료이다.

 

컴퓨터의 4가지 핵심 부품

  • 중앙처리장치(CPU : Central Processing Unit)
  • 주기억장치(main memory)
    • 주기억장치에는 크게 RAM(Random Access Memory)와 ROM(Read Only Memory)가 있다. 메모리라는 용어는 보통 RAM을 지칭한다. 
  • 보조기억장치(secondary storage)
  • 입출력장치(input/output device)

메모리

컴퓨터가 이해하는 정보는 명령어와 데이터인데, 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다. 즉, 프로그램이 실행되려면 메모리에 저장되어 있어야 한다. 메모리에는 저장된 값에 빠르고 효율적으로 접근하기 위해서 주소라는 개념이 사용된다. 

 

CPU

CPU는 컴퓨터의 두뇌이다. CPU는 메모리에 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석하고, 실행하는 부품이다. 

CPU 내부 구성

  • 산술논리연산장치(ALU : Arithmetic Logic Unit)
    • 계산만을 위해 존재하는 부품, 컴퓨터 내부에서 수행되는 대부분의 계산은 ALU가 도맡아아 수행한다.
  • 레지스터(register)
    • CPU 내부의 작은 임시 장치. 프로그램을 실행하는데 필요한 값들을 임시로 저장하고, 여러 개의 레지스터가 존재한다. 각기 다른 이름과 역할을 가지고 있다.
  • 제어장치(CU : Control Unit)
    • 제어 신호(control signal)라는 전기 신호를 내보내고 명령어를 해석하는 장치다. 제어 신호란 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호다.
    • CPU가 메모리에 저장된 값을 읽고 싶을 때 메모리를 향해 메모리 읽기라는 제어 신호를 보낸다.
    • CPU가 메모리에 어떤 값을 저장하고 싶을 때 메모리를 향해 메모리 쓰기라는 제어 신호를 보낸다.

 

보조기억장치

메모리는 실행되는 프로그램의 명령어와 데이터를 저장한다고 하지만, 전원이 꺼지면 저장된 내용을 읽는다. 그래서 저장된 내용을 읽지 않는 메모리를 보조할 용도가 보조기억장치다. 하드 디스크, SSD, USB메모리, DVD, CD-ROM이 대표적이다.

 

입출력장치

마이크 ,스피커, 프린터, 마우스, 키보드처럼 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치를 의미한다. 

 

메인보드

위의 핵심 부품들은 모두 메인보드라는 판에 연결된다. 메인보드에 연결된 부품들은 서로 정보를 주고받을 수 있는데, 이는 메인보드 내부에 버스라는 통로가 있기 때문이다. 컴퓨터의 네 가지 핵심 부품을 연결하는 가장 중요한 버스는 시스템 버스다. 

시스템 버스는 주소 버스, 데이터 버스, 제어 버스로 구성되어 있다. 

  • 주소버스 : 주소를 주고받는 통로
  • 데이터버스 : 명려오아 데이터를 주고 받는 통로
  • 제어버스: 제어 신호를 주고받는 통로
반응형

'혼자 공부하는 컴퓨터구조 + 운영체제' 카테고리의 다른 글

명령어 사이클과 인터럽트  (0) 2022.10.05
CPU 작동원리  (0) 2022.10.05
연산코드와 오퍼랜드  (0) 2022.09.29
소스코드와 명령어  (0) 2022.09.27
데이터  (0) 2022.09.25