Computer Science/Operating System
-
파일 시스템 파일 시스템은 컴퓨터에서 파일이나 자료를 쉽게 발견할 수 있도록, 유지 및 관리하는 방법이다. 저장매체에는 수많은 파일이 있기 때문에, 이런 파일들을 관리하는 방법을 말한다. 시스템 내의 모든 파일에 관한 정보를 제공하는 계층적 디렉토리 구조이며, 파일과 파일의 메타데이터, 디렉토리 정보 등을 관리한다. 파일 시스템의 목적 하드디스크와 메인 메모리 속도 차를 줄일 수 있다. 파일 관리 하드디스크 용량을 효율적으로 이용할 수 있다. 파일 시스템의 기능 및 역할 사용자가 파일을 생성, 삭제, 수정할 수 있게 한다. 여러 사용자가 파일을 공유할 수 있도록 한다. 주기억장치와 보조기억장치 간의 파일 전송을 담당한다. 파일에 대한 백업과 복구를 할 수 있다. 각 응용에 적합한 구조로 파일을 구성할 수..
파일 시스템파일 시스템 파일 시스템은 컴퓨터에서 파일이나 자료를 쉽게 발견할 수 있도록, 유지 및 관리하는 방법이다. 저장매체에는 수많은 파일이 있기 때문에, 이런 파일들을 관리하는 방법을 말한다. 시스템 내의 모든 파일에 관한 정보를 제공하는 계층적 디렉토리 구조이며, 파일과 파일의 메타데이터, 디렉토리 정보 등을 관리한다. 파일 시스템의 목적 하드디스크와 메인 메모리 속도 차를 줄일 수 있다. 파일 관리 하드디스크 용량을 효율적으로 이용할 수 있다. 파일 시스템의 기능 및 역할 사용자가 파일을 생성, 삭제, 수정할 수 있게 한다. 여러 사용자가 파일을 공유할 수 있도록 한다. 주기억장치와 보조기억장치 간의 파일 전송을 담당한다. 파일에 대한 백업과 복구를 할 수 있다. 각 응용에 적합한 구조로 파일을 구성할 수..
2022.10.24 -
페이징 & 세그먼테이션 페이징(Paging) 프로세스의 주소 공간을 고정된 사이즈의 페이지 단위로 나누어 물리적 메모리에 불연속적으로 할당하는 방식 메모리는 Frame이라는 고정크기로 분할되고, 프로세스는 Page라는 고정크기로 분할된다. 페이지와 프레임의 크기가 같다. 페이지와 프레임을 대응시키는 page mapping 과정이 필요하며 paging table을 생성해야 한다. 연속적이지 않은 공간도 활용할 수 있기 때문에 외부 단편화 문제가 해결된다. 페이지 테이블에는 각 페이지 번호와 해당 페이지가 할당된 프레임의 시작 물리 주소를 저장한다. 세그먼테이션(Segmentation) 프로세스를 서로 크기가 다른 논리적인 블록 단위인 세그먼트(Segment)로 분할하여 메모리를 생성한다. 각 세그먼트는 연..
페이징(Paging) & 세그먼테이션(Segmentation)페이징 & 세그먼테이션 페이징(Paging) 프로세스의 주소 공간을 고정된 사이즈의 페이지 단위로 나누어 물리적 메모리에 불연속적으로 할당하는 방식 메모리는 Frame이라는 고정크기로 분할되고, 프로세스는 Page라는 고정크기로 분할된다. 페이지와 프레임의 크기가 같다. 페이지와 프레임을 대응시키는 page mapping 과정이 필요하며 paging table을 생성해야 한다. 연속적이지 않은 공간도 활용할 수 있기 때문에 외부 단편화 문제가 해결된다. 페이지 테이블에는 각 페이지 번호와 해당 페이지가 할당된 프레임의 시작 물리 주소를 저장한다. 세그먼테이션(Segmentation) 프로세스를 서로 크기가 다른 논리적인 블록 단위인 세그먼트(Segment)로 분할하여 메모리를 생성한다. 각 세그먼트는 연..
2022.10.18 -
데드락(Dead-lock, 교착 상태) 개념 운영체제에서 데드락이란, 시스템 자원에 대한 요구가 뒤엉킨 상태를 말한다. 즉, 둘 이상의 프로세스가 다른 프로세스를 점유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황을 일컫는다. 간단하게 설명하자면, 위 사진처럼 자동차(프로세스)들이 각각의 도로(자원)를 점유한 상태에서 다른 자동차(프로세스)들이 사용하고 있는 도로(자원)를 사용하기 위해 대기하고 있지만, 도로 위에서 이러지도 저러지도 못하는 상황을 예시로 들 수 있다. 발생 조건 교착 상태는 한 시스템 내에서 다음 4가지 조건이 동시에 성립할 때 발생하며, 하나라도 만족하지 않으면 발생하지 않는다. 1. 상호 배제 한 번에 프로세스 하나만 해당 자원을 사용할 수 있다. 사용 중인 자원을 다른 ..
데드락(Dead-lock, 교착 상태)데드락(Dead-lock, 교착 상태) 개념 운영체제에서 데드락이란, 시스템 자원에 대한 요구가 뒤엉킨 상태를 말한다. 즉, 둘 이상의 프로세스가 다른 프로세스를 점유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황을 일컫는다. 간단하게 설명하자면, 위 사진처럼 자동차(프로세스)들이 각각의 도로(자원)를 점유한 상태에서 다른 자동차(프로세스)들이 사용하고 있는 도로(자원)를 사용하기 위해 대기하고 있지만, 도로 위에서 이러지도 저러지도 못하는 상황을 예시로 들 수 있다. 발생 조건 교착 상태는 한 시스템 내에서 다음 4가지 조건이 동시에 성립할 때 발생하며, 하나라도 만족하지 않으면 발생하지 않는다. 1. 상호 배제 한 번에 프로세스 하나만 해당 자원을 사용할 수 있다. 사용 중인 자원을 다른 ..
2022.10.10 -
프로세스 간 통신(IPC, Inter-Process Communication) 개념 IPC는 프로세스들 간에 의사소통하는 것을 말한다. 프로세스가 통신 가능하다는 것은 서로 다른 프로세스가 데이터를 주고받을 수 있다는 것이며, 동시에 접근 가능한 메모리 즉, 프로세스들이 공유하는 메모리가 필요하다는 뜻이다. 따라서 컴퓨터 내부에서 보다 효율적으로 정보를 주고받기 위한 통신의 일종이라고 생각하면 되고, 인터넷 통신을 IPC의 확장으로 이해할 수 있다. (프로세스 간 통신이 서버-클라이언트 간 통신과 유시 하기 때문이다.) 종류 1. 공유 메모리(Shared Memory) 공유 메모리가 데이터 자체를 공유하도록 지원하는 설비, 프로세스 간 메모리 영역을 공유해서 사용할 수 있도록 허용한다. 프로세스가 공유 ..
프로세스 간 통신(IPC)프로세스 간 통신(IPC, Inter-Process Communication) 개념 IPC는 프로세스들 간에 의사소통하는 것을 말한다. 프로세스가 통신 가능하다는 것은 서로 다른 프로세스가 데이터를 주고받을 수 있다는 것이며, 동시에 접근 가능한 메모리 즉, 프로세스들이 공유하는 메모리가 필요하다는 뜻이다. 따라서 컴퓨터 내부에서 보다 효율적으로 정보를 주고받기 위한 통신의 일종이라고 생각하면 되고, 인터넷 통신을 IPC의 확장으로 이해할 수 있다. (프로세스 간 통신이 서버-클라이언트 간 통신과 유시 하기 때문이다.) 종류 1. 공유 메모리(Shared Memory) 공유 메모리가 데이터 자체를 공유하도록 지원하는 설비, 프로세스 간 메모리 영역을 공유해서 사용할 수 있도록 허용한다. 프로세스가 공유 ..
2022.10.03 -
시스템 콜(System Call) 시스템 콜이란? 운영체제는 커널 모드(Kernel Mode)와 사용자 모드(User Mode)로 나뉘어 구동된다. 운영체제에서 프로그램이 구동되는 데 있어 파일을 읽어오거나, 쓰거나, 혹은 화면에 메시지를 출력하는 등 많은 부분에서 커널 모드를 사용한다. OS는 다양한 서비스들을 수행하기 위해 하드웨어를 직접적으로 관리한다. 이와 반면 응용 프로그램은 OS가 제공하는 인터페이스를 통해서만 자원을 사용할 수 있다. OS가 제공하는 이러한 인터페이스를 시스템 콜(System Call) 이라고 한다. 목적 추상화된 하드웨어 인터페이스를 유저 프로세스에게 제공한다. 시스템의 보안과 안정성을 보장한다. 가상화된 유저 프로세스와 시스템이 소통할 수 있는 유일하고 공통적인 소통수단이..
시스템 콜(System Call)시스템 콜(System Call) 시스템 콜이란? 운영체제는 커널 모드(Kernel Mode)와 사용자 모드(User Mode)로 나뉘어 구동된다. 운영체제에서 프로그램이 구동되는 데 있어 파일을 읽어오거나, 쓰거나, 혹은 화면에 메시지를 출력하는 등 많은 부분에서 커널 모드를 사용한다. OS는 다양한 서비스들을 수행하기 위해 하드웨어를 직접적으로 관리한다. 이와 반면 응용 프로그램은 OS가 제공하는 인터페이스를 통해서만 자원을 사용할 수 있다. OS가 제공하는 이러한 인터페이스를 시스템 콜(System Call) 이라고 한다. 목적 추상화된 하드웨어 인터페이스를 유저 프로세스에게 제공한다. 시스템의 보안과 안정성을 보장한다. 가상화된 유저 프로세스와 시스템이 소통할 수 있는 유일하고 공통적인 소통수단이..
2022.09.22 -
프로세스 주소 공간 프로세스 주소 공간의 4가지 영역 Text(Code) 사용자가 작성한 프로그램 함수들의 코드가 CPU에서 수행할 수 있는 기계어 명령 형태로 변환되어 저장되는 공간이다. 컴파일 타임에 결정되고 중간에 코드를 바꿀 수 없게 Read-Only로 되어있다. Data 전역 변수 또는 static변수 등 프로그램이 사용하는 데이터를 저장하는 공간이다. 전역 변수 또는 static 값을 참조한 코드는 컴파일이 완료되면 data 영역의 주소 값을 가리키도록 바뀐다. 전역 변수가 변경될 수 있어 Read-Writer로 되어있다. 초기화된 데이터는 Data 영역에 저장, 초기화되지 않은 데이터는 BSS 영역에 저장된다. Data 영역과 BSS 영역을 구분하는 이유는? 초기화 되지 않은 변수는 프로그램..
프로세스 주소 공간프로세스 주소 공간 프로세스 주소 공간의 4가지 영역 Text(Code) 사용자가 작성한 프로그램 함수들의 코드가 CPU에서 수행할 수 있는 기계어 명령 형태로 변환되어 저장되는 공간이다. 컴파일 타임에 결정되고 중간에 코드를 바꿀 수 없게 Read-Only로 되어있다. Data 전역 변수 또는 static변수 등 프로그램이 사용하는 데이터를 저장하는 공간이다. 전역 변수 또는 static 값을 참조한 코드는 컴파일이 완료되면 data 영역의 주소 값을 가리키도록 바뀐다. 전역 변수가 변경될 수 있어 Read-Writer로 되어있다. 초기화된 데이터는 Data 영역에 저장, 초기화되지 않은 데이터는 BSS 영역에 저장된다. Data 영역과 BSS 영역을 구분하는 이유는? 초기화 되지 않은 변수는 프로그램..
2022.09.21