OS 8

8. 파일 시스템(1) - 패스트캠퍼스 백엔드 부트캠프 3기

1. 파일과 디렉터리파일 : 하드 디스크나 SSD와 같은 보조기억장치에 저장된 관련 정보의 집합, 의미 있고 관련있는 정보를 모은 논리적 단위메타데이터(속성) : 파일 관련 부가 정보파일 속성 : 파일과 관련된 다양한 정보파일 속성과 유형파일 유형 : 운영체제가 인식하는 파일 종류를 나타낸다.파일 연산을 위한 시스템 호출파일 생성파일 삭제파일 열기파일 닫기파일 읽기파일 쓰기디렉토리 : 파일들을 관리하기 위한 폴더1단계 디렉터리 : 모든 파일이 하나의 디렉터리 아래에 있는 구조트리 구조 디렉터리 : 여러 계층을 가진 디렉터리최상위 디렉터리(루트 디렉터리) 아래 여러 서브 디렉터리가 있다.경로 : 디렉터리를 이용해 파일 위치, 나아가 파일 이름을 특정 짓는 정보절대 경로 : 루트 디렉터리에서 자기 자신까지 ..

OS 2025.02.26

7. 가상 메모리(2) - 패스트캠퍼스 백엔드 부트캠프 3기

1. 페이징을 통한 가상 메모리 관리페이징의 이점 - 쓰기 시 복사외부 단편화 문제를 해결한다는 점 이외에도 페이징이 제공하는 이점은 다양한데 대표적으로 프로세스 간에 페이지를 공유할 수 있다는 점이있다. 프로세스 간 페이지를 공유하는 사례로는 공유 라이브러리 등 다양하지만, 대표적인 예시로 쓰기 시 복사가 있다.부모 프로세스 혹은 자식 프로세스 둘 중 하나가 페이지에 쓰기 작업을 하면 그 순간 해당 페이지가 별도의 공간으로 복제되고 각 프로세스는 자신의 고유한 페이지가 할당된 프레임을 가리키는데 이것을 쓰기 시 복사라고 하며, 이러한 쓰기 시 복사를 통해 프로세스 생성 시간을 줄이는 것은 물론 메모리 공간 절약도 가능하다.계층적 페이징프로세스를 이루는 모든 페이지 테이블 엔트리를 항상 메모리에 유지하지..

OS 2025.02.25

6. 가상 메모리(1) - 패스트캠퍼스 백엔드 부트캠프 3기

1. 연속 메모리 할당프로세스에 연속적인 메모리 공간을 할당하는 방식스와핑 : 오랫동안 사용되지 않은 프로세스들을 임시로 보조기억장치 일부 영역으로 쫓아내고, 그렇게 해서 생긴 메모리상의 빈 공간에 또 다른 프로세스를 적재하여 실행하는 방식스왑 영역 : 프로세스들이 쫓겨나는 보조기억장치의 일부 영역스왑 아웃 : 현재 실행되지 않는 프로세스가 메모리에서 스왑 영역으로 옮겨지는 것스왑 인 : 스왑 영역에 있던 프로세스가 다시 메모리로 옮겨오는 것스왑 아웃 되었던 프로세스가 다시 스왑 인 될 때는 스왑 아웃되기 전의 물리 주소와는 다른 주소에 적재될 수 있다.스와핑의 장점 : 프로세스들이 요구하는 메모리 주소 공간의 크기가 실제 메모리 크기보다 큰 경우에도 프로세스들을 동시 실행 가능하다.메모리 공간에 프로세..

OS 2025.02.20

5. 교착 상태 - 패스트캠퍼스 백엔드 부트캠프 3기

1. 교착 상태란 : 일어나지 않을 사건을 기다리며 진행이 멈춰 버리는 현상두 개 이상의 프로세스가 각자 가지고 있는 자원을 무작정 기다린다면 그 어떤 프로세스도 더 이상 진행 할 수 없는 교착 상태가 된다.식사하는 철학자 문제 : 교착 상태가 어떤 상황에서 왜 발생하는지, 나아가 교착 상태를 어떻게 해결할 수 있는지를 엿볼 수 있는 가상의 문제 시나리오자원 할당 그래프 : 어떤 프로세스가 어떤 자원을 사용하고 있고, 기다리고 있는지를 표현한 간단한 그래프첫째, 프로세스는 원으로, 자원의 종류는 사각형으로 표현둘째, 사용할 수 있는 자원의 개수는 자원 사각형 내에 점으로 표현셋째, 프로세스가 어떤 자원을 할당받아 사용 중이라면 자원에서 프로세스를 향해 화살표를 표시넷째, 프로세스가 어떤 자원을 기다리고 ..

OS 2025.02.19

4. 프로세스 동기화 - 패스트캠퍼스 백엔드 부트캠프 3기

1. 동기화란? 프로세스 동기화 : 프로세스들 사이의 수행 시기를 맞추는 것프로세스뿐만 아니라 스레드와 같은 실행의 흐름을 갖는 모든 것이 동기화의 대상프로세스들 사이의 수행 시기를 맞추는 것은 무엇을 의미하는가?실행 순서 제어 : 프로세스를 올바른 순서대로 실행하기상호 배제 : 동시에 접근해서는 안 되는 자원에 하나의 프로세스만 접근하게 하기, 공유가 불가능한 자원의 동시 사용을 피하기 위해 사용하는 알고리즘동시에 접근해서는 안 되는 자원이란?공유 자원 : 전역 변수, 파일, 입출력장치, 보조기억장치임계 구역 : 동시에 실행하면 문제가 발생하는 자원에 접근하는 코드 영역두 개 이상의 프로세스가 임계 구역에 진입하고자 하면 둘 중 하나는 대기해야 한다. 임계 구역에 먼저 진입한 프로세스의 작업이 마무리되..

OS 2025.02.18

3. CPU 스케줄링 - 패스트캠퍼스 백엔드 부트캠프 3기

1. CPU 스케줄링운영체제가 프로세스들에게 공정하고 합리적으로 CPU자원을 배분하는 것왜 하는가? : 컴퓨터 성능과 직결되는 대단히 중요한 문제우선순위 : 운영체제에서 여러 프로세스가 동시에 실행될 때, 시스템 자원을 우선적으로 할당받아 실행되는 프로세스대표적으로 입출력 작업이 많은 프로세스가 있다.입출력 집중 프로세스 : 입출력작업이 많은 프로세스로 실행 상태보다는 입출력을 위한 대기 상태에 더 많이 머무른다.CPU집중 프로세스 : CPU작업이 많은 프로세스로 대기 상태보다는 실행 상태에 더 많이 머무른다.CPU 집중 프로세스와 입출력 집중 프로세스가 모두 동일한 빈도로 CPU를 사용하는 것은 비합리적입출력 작업을 완료하기 전까지는 입출력 집중 프로세스는 어차피 대기 상태가 될 예정이기 때문에 입출력..

OS 2025.02.14

2. 프로세스와 스레드 - 패스트캠퍼스 백엔드 부트캠프 3기

1. 프로세스 개요프로세스의 생성 과정 : 프로그램은 실행되기 전까지는 그저 보조기억장치에 있는 데이터 덩어리일 뿐이지만, 보조기억 장치에 저장된 프로그램을 메모리에 적재하고 실행하는 순간 그 프로그램은 프로세스가 된다.포그라운드 프로세스 : 사용자가 보는 앞에서 실행되는 프로세스백그라운드 프로세스 : 사용자가 보지 못하는 뒤에서 실행되는 프로세스(데몬[유닉스]혹은 서비스[윈도우]라고 부른다)프로세스 제어 블록(PCB) : 프로세스가 생성될 때 커널 영역에 생성되는 프로그램으로 프로세스와 관련된 정보를 저장하는 자료 구조이다.프로세스를 식별하기 위해 꼭 필요한 정보들이 저장되며, 프로세스의 실행 순서를 관리하고 CPU를 비롯한 자원을 배분해준다.PCB에 담기는 정보프로세스ID(PID) : PID는 특정 ..

OS 2025.02.10

1. 운영체제란? - 패스트캠퍼스 백엔드 부트캠프 3기

1. 운영체제란?운영체제(OS) : 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 프로그램자원 : 시스템 자원의 줄임말로 컴퓨터 부품(하드웨어)을 뜻한다.운영체제 종류 : 윈도우, 맥OS, 리눅스, 안드로이드, IOS 등운영체제는 컴퓨터가 부팅될 때 메모리 내 커널 영역이라는 공간에 따로 적재되어 실행되며, 그외 나머지 영역을 사용자가 이용하는 응용 프로그램이 적재되는 영역 즉, 사용자 영역이라고 부른다.응용 프로그램(application software) : 사용자가 특정 목적을 위해 사용하는 일반적인 프로그램운영 체제의 역할자원 관리 : 운영체제는 실행할 프로그램을 메모리에 적재하고, 더 이상 실행되지 않는 프로그램을 메모리에서 삭제하며 지속적으로 메모리 자원을 관리한..

OS 2025.02.05