본문 바로가기

Study24

03 - 6 파일 시스템 파일 시스템보조기억장치의 정보를 파일 및 디렉터리(폴더)의 형태로 저장 & 관리 할 수 있게 하는운영체제의 내부 프로그램파일구성 요소파일의 이름파일을 실행하기 위한 정보파일과 관련한 부가정보(속성 또는 메타데이터)여기엔 파일의 형식,위치,크기 등 파일과 관련한 다양한 정보가 있음.이러한 파일을 다루는 모든 작업이 운영체제에 의해 이루어진다.→ 따라서 시스템 콜을 이용해야 한다.파일 디스크립터 (File Descriptor, FD)란?1️⃣ 운영체제가 파일, 소켓, 파이프 등 입출력 리소스를 추적하는 정수형 식별자.2️⃣ 파일을 열면 커널이 해당 파일에 고유한 번호(FD)를 할당하여 관리.3️⃣ 파일 디스크립터의 기본 값 (POSIX 기준)0 → 표준 입력(Standard Input, stdin)1 → 표.. 2025. 2. 19.
03 - 5 가상 메모리 가상 메모리 (Virtual Memory)물리 메모리보다 더 큰 메모리를 쓰는 기술1️⃣ 물리 메모리(RAM)보다 더 많은 메모리를 사용할 수 있도록 하는 기법으로, 실제 메모리보다 큰 공간을 제공함.2️⃣ 디스크의 일부를 “스왑 영역(Swap Space)"로 활용하여 부족한 RAM을 보완함.3️⃣ 페이지 단위로 메모리를 관리하며, 자주 사용하는 페이지는 RAM에, 덜 쓰는 페이지는 디스크로 이동 (페이지 교체).4️⃣ 장점: 프로세스당 큰 메모리 공간 사용 가능, 멀티태스킹 효율 증가, 프로그램 간 메모리 보호 제공.5️⃣ 단점: 디스크 접근 속도가 RAM보다 느려 페이지 폴트(Page Fault)가 많아지면 성능 저하 발생. 🚀물리주소와 논리 주소물리 주소(physical address) : 하드웨.. 2025. 2. 19.
03 - 4 CPU 스케줄링 CPU 스케줄링 : CPU를 어떤 프로세스에 할당할지를 결정하는 과정(운영체제(OS)가 여러 프로세스를 효율적으로 실행하기 위함)CPU 스케줄 알고리즘 - 운영체제가 프로세스에 CPU를 배분하는 방법CPU 스케줄러 - 스케줄 알고리즘을 결정하고 수행하는 운영체제의 일부분실행 문맥이 있다면 모두 스케줄링 대상프로세스 뿐만 아니라 스레드도 CPU 스케줄링의 대상이다.실행의 문맥을 가지고 있는 모든 것은 스케줄링 할 수 있기 때문우선 순위운영체제는 프로세스별 우선순위를 판단하여 PCB(Process Control Block)에 명시우선 순위가 높은 프로세스에는 CPU의 자원을 더 빨리 , 많이 할당일부 프로세스의 우선순위를 직접 높힐 수도 있음운영체제마다 프로세스의 우선순위 확인 가능운영체제는 어떤 프로세스에.. 2025. 2. 19.
05.배열 배열이란같은 종류의 데이터를 순서대로 저장하는 자료구조하나의 변수 이름으로 동일한 타입의 데이터를 그룹화해서 관리인덱스(index)라는 것으로 원하는 데이터에 임의 접근할 수 있음인덱스 번호는 0부터 시작함배열 생성자를 이용하는 법const arr1 = new Array(6); [undefined,undefined, ...]const arr2 = [...new Array(6)].map((_,i)=> i + 1) //[1,2,3,4,5,6]array.fill(value,start,end)특정 범위를지정한 값으로 채우는 메서드const arr = [1,2,3,4,5]arr.fill(0,1,4) // index 1부터 4이전까지 채움(1~3) 0으로 채움console.log(arr) //[1,0,0,0,5]0.. 2025. 2. 18.
You don't know JS yet(3-2~4) 클로저,this,prototype 클로저 전에 알아야 할 내용🔥 콜 스택(Call Stack)이 뭐냐?자바스크립트 엔진이 함수 실행을 관리하는 공간LIFO(Last In, First Out) 구조 → 마지막에 들어온 함수가 먼저 실행 완료됨함수가 호출될 때 스택에 쌓이고, 실행이 끝나면 스택에서 제거됨⚙️ 콜 스택 동작 방식함수 호출 → 콜 스택에 push(쌓임)함수 실행 완료 → 콜 스택에서 pop(제거)비동기 함수 (setTimeout, fetch 등) → 콜 스택에서 빠지고 Web APIs → Task Queue → Event Loop 통해 실행Heap 영역이 뭐냐?런타임 중에 동적으로 메모리 할당하는 공간크기가 가변적이라 필요할 때 메모리를 할당하고, 필요 없으면 해제됨JS에서 객체(Object)나 함수(Function) 같은 .. 2025. 2. 13.
You don't know JS yet(3-1) 이터레이션 3.1 이터레이션일단 이 개념은 ES6부터 도입 되었다.단어 의미 분석 실제 의미이터러블 (Iterable)Iter(반복) + able(가능)반복할 수 있는 객체 (for문에서 사용 가능)이터레이터 (Iterator)Iter(반복) + or(~하는 것/사람)반복을 수행하는 객체 (next()로 값 꺼내는 역할)이터레이션 (Iteration)Iter(반복) + ation(행위, 과정)반복하는 과정 자체 (for문 실행 과정)💡 즉,이터러블(Iterable) = 반복 가능한 객체이터레이터(Iterator) = 반복을 수행하는 객체이터레이션(Iteration) = 반복 하는 행위, 과정1.이터러블(Iterable) : 반복할 수 있는 객체“반복할 수 있는 객체” , 즉 for...of 문에서 사용할 수 있는.. 2025. 2. 13.