inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

인프런 워밍업 클럽 스터디 3기 - CS 전공 지식<3월 첫째주 발자국>

ansghltjd9
0

1주차 학습 내용

 

자료구조와 알고리즘

 

배열 vs 연결 리스트

배열: 연속된 메모리에 데이터를 저장하여 인덱스 접근이 O(1)로 빠르지만, 삽입/삭제 시 성능 저하 발생.

연결 리스트: 임의의 메모리 위치에 데이터를 저장하며 삽입/삭제가 O(1)로 빠르지만, 조회 성능이 O(n)로 낮음.

 

스택 vs 큐 vs 덱

스택 : 마지막에 추가된 요소가 먼저 제거됨. 후입선출

큐: 먼저 추가된 요소가 먼저 제거됨. 선입선출

덱: 양쪽에서 삽입과 삭제가 가능한 자료구조

 

해시테이블 vs set

해시테이블: 키 - 값 구조를 가지고 조회에 O(1) 성능을 가진다. 대신 메모리를 많이 차지함.

파이썬의 딕셔너리 구조를 말하는거 같다.

set: 중복되지 않는 요소의 집합. 요소의 존재 여부를 빠르게 파악

 

운영체제

 

폰노이만 구조

폰노이만 구조는 메모리에 프로그램을 저장하고, 버스를 통해 데이터를 전송해서 CPU에서 처리하는 방식이다.

메모리 종류

부팅 과정: 부팅할 때 BIOS가 실행되고, 하드웨어에 이상이 없는지 체크한다.

인터럽트: 인터럽트는 CPU가 작업을 잠시 멈추고, 중요한 작업을 먼저 처리하는 방식이다.

프로세스: 프로세스는 실행 중인 프로그램이다.

멀티프로그래밍: 멀티프로그래밍은 메모리 내에서 여러 개의 프로세스를 동시에 관리하는 방식이다.

멀티프로세싱: 멀티프로세싱은 여러 개의 CPU로 작업을 병렬 처리하는 방식이다.

 

프로세스 상태 변화

생성 → 준비 → 실행 → (대기) → 완료

 쓰레드

프로그램을 중복해서 실행 할 경우 프로세스의 복사도 같이 일어난다.(크롬탭10개 생성 시 프로세스도 10개 실행)

이럴 때 메모리의 부하를 막기위해 나온 것이 쓰레드다. 쓰레드는 프로세스 내에 존재하고 1개 이상이 있을 수 있다.

쓰레드는 PCB, 코드, 데이터, 힙영역을 공유한다. 단 스택은 공유하지 않고 쓰레드마다 하나씩 가지고 있다.

 

CPU 스케줄링 알고리즘


1주차 회고

답변 0