[컴퓨터 공학] 기초 맛보기(운영 체제, 메모리 구조, 프로세스와 스레드 ~)

fejigu·2022년 10월 4일
1

컴퓨터 공학

목록 보기
1/1
post-thumbnail

오늘 학습하는 컴퓨터 공학 기초 내용은 내용 자체가 낯설고 생소하기도 하고, 방대해서 집중이 잘 되지 않아 블로깅으로 간단하게 정리하면서 학습해보았다.


🔎 운영체제란

운영체제는 시스템의 자원과 동작을 관리하는 소프트웨어로 프로세스, 저장장치, 네트워킹, 사용자, 하드웨어 등을 관리한다.


🔎 메모리 구조

메모리 공간 종류 : Code, Data, Heap, Stack
→ Code는 소스 코드가 들어가는 부분이고
→ Data는 전역변수, 정적변수가 할당되는 부분이다.
→ Heap은 사용자가 직접 관리하는 영역으로 데이터 동적으로 할당되는 공간이며
→ Stack은 함수의 호출정보, 지역변수, 매개변수들이 저장되게 된다.


🔎 프로세스와 스레드

프로세스 : 실행중인 프로그램
스레드 : 프로세스 안 실행 단위
→ 프로세스는 메모리와 CPU를 프로세스마다 할당받아서 사용하는데,
→ 스레드는 프로세스 안에서 다른 스레드와 메모리와 CPU를 공유해서 사용한다


🔎 CPU 스케줄러

준비큐 있는 프로세스에 대해 CPU를 할당하는 방법
→ 크게 다섯가지가 있다(FCFS, SJF, SRT, Priority Scheduling, Round Bobin)
CPU 스케줄러 5가지(블로그 링크)


🔎 가상 메모리

사용하는 부분만 메모리에 올리고, 나머지는 디스크에 보관
→ 모든 프로세스에게 메모리를 할당하기에는 메모리의 크기가 한계가 있어서 사용하는 방법이다. 프로세스에서 사용하는 부분만 메모리에 올리고, 나머지는 디스크에 보관하는 기법을 가상 메모리하고 한다.


🔎 데드락

프로세스가 자원을 얻지 못해 다음 작업을 못하는 상태
→ 예를 들어보면, P1과 P2가 각각 자원 A와 B를 얻어야되는데 P1이 A를 P2가 B를 가지고 있어서 서로 무한정 기다리는 상태를 데드락이라고 한다.
→ 데드락은 네 가지 조건이 동시에 발생해야 성립이 가능한데,
그 4가지는 상호배제, 점유대기, 비선점, 순환대기이다.
데드락이란(블로그 링크)


🔎 문자열

인코딩 : 어떤 문자나 기호를 컴퓨터가 이용할 수 있는 신호로 만드는 것이다.
유니코드 :유니코드 협회가 제정하는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이다.
UTF-8과 UTF-16 : 인코딩 방식
문자열(유튜브 링크)


🔎 가비지 컬렉션

가비지 컬렉션은 프로그램에서 더 이상 사용하지 않는 메모리를 자동으로 정리하는 것이다.
→ 메모리 관리
가비지 컬렉터란(유튜브 링크)


profile
신규 서비스의 기획부터 개발, 운영까지 전 과정을 경험한 주니어 📱

0개의 댓글