반응형
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 |