티스토리 뷰

코드스테이츠

TIL 23.03.27

_Yunhwan 2023. 3. 27. 20:39

오늘은 컴퓨터 구조와 운영체제에 대해서 공부하였다.

 

아무래도 전공 내용이 엄청나다 보니 오늘은 가장 중요한 부분들을 압축해서 배웠다.

 

컴퓨터 구조

컴퓨터는 입력장치(Input), 출력장치(Output)가 갖춰져 있고,

내부에는 연산을 하기 위한 중앙처리장치(CPU), 저장을 하기 위한 주 기억장치와 보조 기억장치를 가지고 있음

 

중앙처리장치

CPU의 내부 구성은 크게 산술/논리 연산 장치(ALU)와 제어 장치, 레지스터로 구성되어 있음

 

CPU의 구조와 기능

CPU는 명령어 인출과 명령어 해독하는 기능을 하며,

CPU 의 내부 구성은 크게 산술/논리 연산 장치(ALU), 제어 장치와 레지스터 로 구성

 

캐시나 메모리로부터 읽어 온 데이터는 레지스터(Register)라는 CPU 전용의 기억장소에 저장되며,

ALU는 레지스터에 저장된 데이터를 이용하여 덧셈, 곰셈 등과 같은 산술 연산을 수행

 

명령어 수행 과정

  • 읽기(Fetch Instruction, FI): 메모리에서 명령을 가져옵니다.
  • 해석(Decode Instruction, DI): 명령을 해석합니다.
  • 실행(Execute Instruction, EI): 명령을 수행합니다.
  • 기록(Write Back, WB): 수행한 결과를 기록합니다.

 

Memory

메모리는 기억소자 즉 반도체를 의미

 

메모리 분류별 특성

보조 기억장치와 메모리의 차이는 “휘발성”

메모리는 휘발성, 보조 기억장치는 비휘발성

 

캐시 메모리(Cache Memory)

빠른 CPU 의 처리속도와 상대적으로 느린 메인 메모리에서의 속도의 차이를 극복하는 완충 역할

 


운영체제

운영체제는 하드웨어를 관리하는 프로그램

 

운영체제의 목적은 처리능력 향상, 사용 가능도 향상, 신뢰도 향상, 반환 시간 단축 등에 있으며,

운영체제는 응용 프로그램이 하드웨어에게 일을 시킬 수 있도록 도와줌

  • 프로세스 관리(CPU)
  • 메모리 관리
  • I/O(입출력) 관리 (디스크, 네트워크 등)

 

프로세스

프로세스는 메모리에 적재 되어 프로세서에 의해 실행 중인 프로그램이며,

프로세스 간에는 메모리 공유를 하지 않는 것이 특징이다.

 

프로세스 상태

  • 실행(Run) : 프로세스가 프로세서를 차지하여 서비스를 받고 있는 상태
  • 준비(Ready) : 실행될 수 있도록 준비되는 상
  • 대기(Waiting) : CPU 의 사용이 아니라 입출력의 사건을 기다리는 상태를 말합니다.

 

스레드

명령어가 CPU 를 통해서 수행되는 객체의 단위

하나의 프로세스 내에는 반드시 1개 이상의 스레드가 존재하며, 스레드는 같은 프로세스에 있는 자원과 상태를 공유

특징

  • 각 스레드마다 call stack이 존재(call stack: 실행 중인 서브루틴을 저장하는 자료 구조)하며, 나머지 Code, Data, Heap 영역은 스레드 끼리 공유
  • 반면에 프로세스는 다른 프로세스의 메모리에 직접 접근할 수 없음

 

싱글 스레드 vs 멀티 스레드

싱글 스레드 : 일련의 처리를 단일 스레드만으로 직렬 처리하는 프로그래밍 방법(ex: JS)

- 동기화를 신경쓰지 않아도 되지만, 에러처리를 못하는 경우 멈춰버림

 

 

멀티 스레드: 하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것을 의미

- 작업을 분리해서 수행할 수 있지만, 주위 깊은 설계가 필요

 

  • Concurrency(동시성, 병행성): 여러 개의 스레드가 시분할 방식으로 동시에 수행되는 것처럼 착각을 불러일으킴
  • Parallelism(병렬성): 멀티 코어 환경에서 여러 개의 스레드가 실제로 동시에 수행됨

'코드스테이츠' 카테고리의 다른 글

TIL 23.04.03 - Github Actions를 통한 배포  (0) 2023.04.03
TIL 23.03.28  (0) 2023.03.28
TIL 23.03.24  (0) 2023.03.24
TIL 23.03.23  (0) 2023.03.23
TIL 23.03.17  (0) 2023.03.17
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함