혼공학습단 5

[혼공컴운] Ch 14 가상 메모리

Chapter 14가상 메모리14-1 연속 메모리 할당연속 메모리 할당프로세스에 연속적인 메모리 공간을 할당하는 방식 스와핑프로세스들을 임시로 보조기억장치 일부 영역으로 쫓아내고, 그렇게 해서 생긴 메모리상의 빈 공간에 또 다른 프로세스를 적재하여 실행하는 방식 스왑 영역프로세스들이 쫓겨나는 보조기억장치의 일부 영역스왑 아웃현재 실행되지 않는 프로세스가 메모리에서 스왑 영역으로 옮겨지는 것스왑 인스왑 영역에 있던 프로세스가 다시 메모리오 옮겨오는 것 메모리 할당비어 있는 메모리 공간에 프로세스를 연속적으로 할당하는 방식최초 적합운영체제가 메모리 내의 빈 공간을 순서대로 검색하다가 적대할 수 있는 공간을 발견하면 그 공간에 프로세스를 배치최적 적합운영체제가 빈 공간을 모두 검색해 본 후, 프로세스가 적재될..

System/운영체제 2025.02.24

[혼공컴운] Ch 12 프로세스 동기화

Chapter 12프로세스 동기화12-2 동기화 기법뮤텍스 락동시에 접근해서는 안 되는 자원에 동시에 접근하지 않도록 만드는 도구, 다시 말해 상호 배제를 위한 동기화 도구이다. 임계 구역에 진입하는 프로세스는 '내가 지금 임계 구역에 있음'을 알리기 위해 뮤텍스 락을 이용해 임계 구역에 자물쇠를 걸어둘 수 있고, 다른 프로세스는 임계 구역이 잠겨 있다면 기다리고, 잠겨 있지 않다면 임계 구역에 진입할 수 있다. acquire 함수프로세스가 임계 구역에 진입하기 전에 호출하는 함수이다. 만일 임계 구역이 잠겨 있다면 임계 구역이 열릴 때까지 임계 구역을 반복적으로 확인하고, 임계 구역이 열려 있다면 임계 구역을 잠그는 함수이다. release 함수임계 구역에서의 작업이 끝나고 호출하는 함수이다.  세마포..

System/운영체제 2025.02.17

[혼공컴운] Ch 10 프로세스와 스레드

Chapter 10프로세스와 스레드10-1. 프로세스 개요프로세스'실행 중인 프로그램'을 말한다.사용자가 볼 수 있는 공간에서 실행되는 포그라운드 프로세스와 보이지 않는 공간에서 실행되는 백그라운드 프로세스가 있다. 프로세스 제어 블록모든 프로세스는 실행을 위해 CPU가 필요하지만 CPU 자원은 한정되어 있어 차례대로 돌아가며 한정된 시간만큼 CPU를 이용한다. 운영체제는 빠르게 번갈아 수행되는 프로세스의 실행 순서를 관리하고, 프로세스에 CPU를 비롯한 자원을 배분한다. 이를 위해 운영체제는 프로세스 제어 블록(PCB)을 이용한다.  프로세스 ID특정 프로세스를 식별하기 위해 부여하는 고유한 번호이다. 레지스터 값해당 프로세스가 실행하며 사용했던 프로그램 카운터를 비롯한 레지스터 값들이 담긴다.프로세스..

System/운영체제 2025.02.09

[혼공컴운] Ch 6 메모리와 캐시 메모리

Chapter 6메모리와 캐시 메모리6-1. RAM의 특징과 종류RAM의 특징RAM에는 실행한 프로그램의 명령어와 데이터가 저장된다. 전원을 끄면 RAM에 저장된 명령어와 데이터가 모두 날아가는데 이런 저장 장치를 휘발성 저장 장치라고 한다. 이와 반대로 전원이 꺼져도 저장된 내용이 유지되는 보조기억장치는 비휘발성 저장 장치라고 한다. 보조기억장치는 전원을 꺼도 내용을 유지하지만 CPU는 보조기억장치에 직접 접근하지 못한다. 그래서 보조기억장치에는 '보관할 대상'을 저장하고, 휘발성 저장 장치인 RAM에는 '실행할 대상'을 저장한다. RAM의 용량과 성능CPU가 실행하고 싶은 프로그램이 보조기억장치에 있다면 이를 RAM으로 가져와야하는데 RAM의 용량이 적다면 보조기억장치에서 실행할 프로그램을 가져오는 ..

[혼공컴운] Ch 1~3 컴퓨터 구조와 데이터, 명령어 (스택 큐)

[혼자 공부하는 컴퓨터 구조 + 운영체제]1~8장 컴퓨터 구조편컴퓨터 내부의 구조와 작동법을 이해하고 컴퓨터가 어떻게 명령어를 처리하는지를 학습한다.-컴퓨터 구조 -컴퓨터가 이해하는 정보 알아보기 -컴퓨터의 4가지 핵심 부품 학습하기 9~15장 운영체제편운영체제가 왜 존재하는지 그 필요성과 우리가 전원을 누르는 순간부터 로그인 화면이 뜰 때까지 어떤 과정을 거치는지 알아본다.-프로세스와 스레드 이해하기 -CPU 스케줄링 기법 학습하기 -프로세스와 스레드 관리 기법 학습하기 -가상 메모리와 파일 시스템 학습하기Chapter 1컴퓨터 구조 시작하기1-1. 컴퓨터 구조를 알아야 하는 이유컴퓨터 구조 지식은 문법에 맞는 코드만 작성할 줄 아는 개발자를 엄어 다양한 문제를 스스로 해결할 줄 아는 개발자로 만들어 ..