나는 이렇게 학습한다/CS

컴퓨터 구조와 운영체제 기본

daco2020 2022. 1. 16. 16:26
반응형

1. 컴퓨터 구성 요소

CPU

  • 명령어를 해석하여 실행하는 장치

 

 

메모리

  • 주메모리 : 작업에 필요한 프로그램과 데이터를 저장하는 장소(동적)
  • 보조메모리 : 저장장치라고 불리며 데이터를 일시적 또는 영구적으로 저장하는 장소(정적)

 

 

입출력 장치

  • 키보드, 마우스, 모니터 등

 

 

시스템 버스

  • 컴퓨터 구성 요소들을 연결하고 데이터를 주고 받는 역할

 

 


 

 

2. 운영체제(OS)

  • 정의 : 컴퓨터 시스템을 운영하고 관리하는 소프트웨어
  • 운영체제가 없는 컴퓨터는 처음에 설계한 대로만 사용할 수 있는 단순한 계산기에 불과하다
  • 운영체제가 있는 컴퓨터를 프로그램이 가능한 기계라고 한다
  • 윈도우, 맥, 우분투, 리눅스 등

 

 

프로세스

  • 프로그램 : 어떤 문제를 해결하기 위해 컴퓨터에게 주어지는 처리 방법과 순서를 기술한 일련의 명령문의 집합체
    (일련의 명령문 : 개발자가 작성한 코드들)
  • 프로그램은 HDD, SSD와 같은 저장장치에 보관되어 있다.
  • 사용자는 어떤 이유로 프로그램을 실행하기 위해 프로그램 바로가기 버튼을 눌러서 실행시킨다
  • 프로그램이 실행된다?
    → 보조메모리(저장장치)에 있는 코드들이 주메모리로 올라와 작업 수행
    → 프로세스가 생성되면 CPU는 프로세스가 해야할 작업을 수행한다
프로그램 : 저장장치에 저장된 정적인 상태
프로세스 : 실행을 위해 주메모리에 올라온 동적인 상태

 

 

 

스레드

  • 프로세스가 생성되면 CPU는 프로세스가 해야할 작업을 수행한다.
    이때 CPU가 처리하는 작업의 단위가 바로 '스레드'이다
  • 스레드란 프로세스 내에서 실행되는 여러 작업의 단위
  • 1개는 싱글 스레드, 여러개는 멀티 스레드
    → 멀티 스레드에서 스레드는 서로 메모리 공유와 통신이 가능
    • 멀티스레드 장점 : 자원의 낭비를 막고 효율성 향상
        (비유 : 로봇을 또 만들지 않고, 기존 로봇에 팔을 더 붙여 효율을 높인다)
    • 멀티스레드 단점 : 한 스레드에 문제가 생기면 전체 프로세스에 영향을 미친다
        (비유 : 팔이 하나 망가지면 로봇 전체가 망가진다)
  • 스레드 종류
    사용자 수준 스레드 → 우리가 주로 만나게 될 스레드
    커널 수준 스레드 → 운영체제의 핵심 요소 → 더 알고 싶다면 운영체제 공부할 것

 

 

 

 

 

 

반응형

'나는 이렇게 학습한다 > CS' 카테고리의 다른 글

TCP와 UDP 비교  (0) 2022.03.20
메모리 단편화를 해결하는 세 가지 방법  (0) 2022.02.09
동시성(병행성) vs 병렬성  (0) 2022.01.16
동기 vs 비동기  (0) 2022.01.15
CPU 바운드와 I/O 바운드  (0) 2022.01.15