CS 지식의 향상을 위해 주1회 관련 영상 시청 후, 해당 영상의 내용을 정리하는 스터디를 진행하게 됐습니다.
1주차는, '기술노트with 알렉' 님의 '비전공자분들 위한 컴퓨터 전공 수업 10분으로 압축 (컴퓨터 구조 + 운영 체제)'로 진행했습니다.
( 연관 자료 : https://youtu.be/uMyKBYF48nY [ 컴퓨터 구조 심화 ] )
폰 노이만 구조
- 컴퓨터의 기본적인 4요소.
프로세서 (CPU) | 계산을 하는 역할 - ALU(산술 논리 장치) : 연산을 담당하는 영역 - 레지스터 : CPU가 사용할 데이터를 담고 있는 영역 |
메모리 (RAM) | CPU에 명령을 전달하기 위해 저장소의 코드와 자원 일부를 임시로 보관하는 공간 |
저장소 (DISK) | 코드부와 리소스(자원)로 이루어진 프로그램들이 실제로 보관되는 공간 |
입출력 장치 (I/O) | 컴퓨터가 인식 할 수 있는 형태로 자료를 변환하며 입력하고, 연산된 프로그램을 사용자가 인식할 수 있도록 다시 변환해주는 장치 ( ex : 마우스, 키보드, 모니터 등 ) |
※ 컴파일 : 컴퓨터가 이해하지 못하는 사람의 언어를 컴퓨터가 이해할 수 있도록 변환하는 것.
프로세스
저장소에 있던 하나의 프로그램이 사용(CPU 할당)을 위해 메모리에 올라간 것.
즉, 컴퓨터에서 '하나의 작업 단위'를 뜻함.
- 시분할 : 프로세스 각각에 실행 시간이 따로 할당되는 것을 의미.
프로세스는 시분할에 따라 순차적으로 실행되나, 매우 빠른 속도로 실행되기 때문에 동시에 진행되는 것으로 보임.
- 스케줄링 : 각각의 프로세스에 실행 시간을 얼마나 할당할지, 우선순위를 어떻게 할지를 관리하는 것.
스케줄링의 종류
선점형 | CPU에 먼저 선점된 프로세스의 자리를 우선순위의 변경에 따라 다른 프로세스가 차지 할 수 있는 스케줄링 방식 |
비선점형 | CPU에 먼저 선점된 프로세스가 있으면, 해당 프로세스의 작업이 끝나기 전에 다른 프로세스는 할당될 수 없는 방식 |
(추후 별도의 글로 정리 예정)
메모리 관리
메모리에 올라가는 각각의 프로세스에 어떤 리소스를 적재시킬지 관리를 하는 것
(추후 별도의 글로 정리 예정)
운영체제(OS)
폰노이만 구조에 있는 각 장치들(CPU, 메모리, 저장소)이 효율적으로 제어될 수 있도록 관리하는 역할
'컴퓨터의 성능 최적화/사용자의 편리성 제공' 에 큰 목적을 두고 있음
(추후 별도의 글로 정리 예정)