SteadyDrills

[TIL] CS(Computer Science) 기초1 - 하드웨어(Hardware), OS(운영 체제, Operating System) 본문

CS

[TIL] CS(Computer Science) 기초1 - 하드웨어(Hardware), OS(운영 체제, Operating System)

Drills 2024. 7. 25. 21:58

240725

CS (Computer Science) - 컴퓨터 공학

컴퓨터와 계산에 관한 이론, 실험, 공학을 포함하는 학문이다.

주요 연구 분야로는 프로그래밍, 알고리즘, 데이터 구조, 소프트웨어 개발, 인공지능, 네트워크 등이 있다.

 

개발자가 CS를 공부해야 하는 이유

  1. 문제 해결 능력 향상 : 복잡한 문제를 효율적으로 해결할 수 있다. CS는 알고리즘과 데이터 구조와 같은 핵심 개념을 가르치기 때문이다.
  2. 기초 개념 이해: CS를 공부함으로써 다양한 프로그래밍 언어나 도구를 배울 때 더 쉽게 습득할 수 있다. 이는 기본 원리가 공통적이기 때문이다.
  3. 성능 최적화: 효율적인 코드 작성을 위해서는 알고리즘과 데이터 구조에 대한 이해가 필요하다. 

 

하드웨어 (Hardware)

컴퓨터 시스템을 구성하는 물리적 요소들을 의미한다. 소프트웨어(Software)와 대조적으로 하드웨어는 만질 수 있고, 물리적으로 존재하는 모든 전자 장치와 부품들을 말한다.

 

주요 구성 요소

1. 연산 장치

 

중앙 처리 장치(CPU: central processing unit ): 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할하는 장치를 말한다. 흔히 말하는 인간의 뇌 역할

 

그래픽 처리 장치(GPU:graphic processing unit):  컴퓨터 시스템에서, 그래픽 연산을 빠르게 처리하여 결괏값을 모니터에 출력하는 연산 장치.

 

2. 기억 장치( Memory )

주 기억 장치 (RAM:RandomAccessMemory): CPU에서 직접 접근이 가능한 메모리이다. 수치·명령·자료 등을 기억하는 할 수 있다. 또한 RAM은 일반적으로 전원이 차단되면 내용이 지워지는 휘발성 기억 장치이다.

 

보조 기억 장치: CPU에서 직접 접근이 불가능한 메모리이다. 접근하려면 기억장치의 특정 위치의 내용을 주기억장치로 로드(Load)한 뒤에 읽을 수 있다. HDD, SSD 등이 여기 속한다.

 

3. 입출력 장치

입력 장치: 사람이 조작함으로써 컴퓨터에 신호를 보내는 장치이다. 마우스, 키보드, 조이스틱, 태블릿 등이  속한다.

출력장치: 빛, 소리 등으로 컴퓨터의 결과물을 출력하는 장치이다. 모니터, 스피커, 이어폰 등이 있다. 

 

4. 메인보드 (Mainboard): 머더보드(Motherboard),

 

5. 전원장치

파워서플라이(power supply unit, PSU): 부품에 필요한 전압과 전류로 변환해 전원을 공급하는 컴퓨터 부품이다.

 

OS(운영 체제, Operating System)

운영 체제는 컴퓨터 시스템의 중추적인 역할을 한다. 사용자가 컴퓨터 시스템을 효율적으로 사용할 수 있도록 돕는다.

 

주요 운영 체제 예시

  1. Windows:
    • 마이크로소프트에서 개발한 운영 체제로, 개인용 컴퓨터에서 가장 널리 사용된다.
    • 호환성이 뛰어나며 사용자 친화적인 인터페이스를 가지고 있다.
  2. macOS:
    • 애플이 개발한 운영 체제로, Mac 컴퓨터에서 사용된다.
    • 직관적인 사용자 인터페이스와  하드웨어와 최적화가 잘되어 있다.
  3. Linux:
    • 오픈 소스 운영 체제이다.
    • 서버, 데스크톱, 임베디드 시스템 등에서 널리 사용된다.

 

*중요 개념!

 

 

  • 프로세스 (Process)
    • 실행 중인 프로그램, CPU에서 실행되는 독립적인 작업 단위이다.
  • 프로세싱 (Processing)
    • 프로그램의 실행, 데이터 처리, 연산 등 작업의 수행을 의미한다.
  • 멀티태스킹 (Multitasking)
    • 동시에 여러 작업이나 프로세스를 하나의 시스템 or CPU가 수행하는 것이다. 실제로는 동시가 아닌 빠른 속도로 여러 작업을 번갈아 수행한다.
  • 멀티프로세싱 (Multiprocessing)
    • 여러 CPU를 사용하여 동시에 여러 프로세스를 실행하는 방식이다.
  • 멀티스레드 (Multithread)
    • 하나의 프로세스 내에서 여러 스레드가 동시에 실행되는 것이다. ex) 크롬 안에 여러 탭을 열고 있는 것 
  • 스케줄링 (Scheduling)
    • 성능을 위해서 CPU의 자원을 여러 프로세스에 분배 및 관리하는 방법.
  • 커널 (Kernel)
    • 운영 체제의 핵심 부분으로, 하드웨어와 소프트웨어 간의 상호작용을 관리.
  • 터미널 (Terminal)
    • 명령어를 입력하고 결과를 표시하는 텍스트 기반 인터페이스.
  • CUI (Character User Interface)
    • 문자 기반 사용자 인터페이스로, 명령어를 입력하여 시스템과 상호작용한다. ex) Windows 명령 프롬프트 ( Windows Command Prompt )
  • GUI (Graphical User Interface)
    • 그래픽 요소를 사용하여 사용자와 시스템 간의 상호작용을 제공하는 인터페이스이다. ex) Windows OS 등