반응형

[Computer Science]/[운영체제(OS)] 48

[운영체제(OS)] 15-2) 파일 공유 - 가상, 원격 파일 시스템

운영체제가 여러 사용자를 수용하면 파일 공유, 네이밍, 보호가 중요해집니다. 디렉토리 구조가 사용자의 파일 공유를 허용하면 시스템은 파일 공유를 중재해야 합니다. 이를 구현하기 위해 시스템은 파일과 디렉토리에 대해 더 많은 속성을 가져야 하며, 소유자(owner, user)와 그룹(group)이 이와 같습니다. 사용자가 파일 연산을 요구할 때 사용자 ID를 소유자, 그룹 속성과 비교한 후 요구된 연산을 허가하든지 거부합니다. :Virtual File System. 실제 파일 시스템에 관계없이 공통된 인터페이스로 파일 시스템에 접근하도록 하는 계층입니다. 파일 시스템 구현은 아래 이미지와 같이 3가지 주요한 계층으로 구성됩니다. 1) 파일 시스템 인터페이스 : open(), read(), write(), ..

[운영체제(OS)] 15-1) 파일 시스템 - 파티션, 마운팅

: 범용 컴퓨터 시스템에는 여러 저장장치가 있을 수 있으며, 이러한 장치는 파티션으로 분할되어 볼륨을 보유하고 볼륨은 다시 파일 시스템을 보유합니다. * 다양한 유형의 파일 시스템 tmpfs : 휘발성 메인 메모리에 생성되는 임시 파일 시스템 objfs : 파일 시스템으로 보이는 커널 인터페이스로, 디버거가 커널 심볼에 접근할 수 있게 하는 가상 파일 시스템 ctfs : 시스템이 부트될 때부터 운영체제가 실행되는 동안 실행되어야 하는 프로세스를 관리하기 위한 "contract" 정보를 저장하기 위한 가상 파일 시스템 lofs : 한 파일 시스템 대신 다른 파일 시스템에 접근할 수 있게 해주는 loop back 파일 시스템 procfs : 모든 프로세스에 관한 정보를 파일 시스템 형태로 보여주는 가상 파일..

[운영체제(OS)] 14-2) 파일을 저장장치 공간에 할당

1. 연속 할당(Contiguous Allocation) : 각 파일이 저장장치 내에서 연속적인 공간을 차지하도록 요구합니다. 한 파일의 연속 할당은 첫 번째 블록 주소와 블록 단위의 길이로 정의됩니다. 순차 접근과 직접 접근 두가지 모두 지원할 수 있습니다. 순차 접근 : 파일 시스템은 가장 최근에 참조된 주소를 기억하고 있다가 필요할 때 다음 블록을 읽어들임 직접 접근 : 블록 b에서 시작하는 파일의 i번째 블록에 접근하기 위해 블록 b+i에 접근 파일의 가용 공간을 찾기 어렵습니다. 파일을 위해 어느 정도의 공간을 줄지 결정하는게 어렵습니다. 너무 작은 공간을 할당해줬을 경우, 다음과 같은 방법을 사용합니다. 확장이 안 될 경우 사용자에게 오류 메시지를 출력하고 프로그램을 종료시킴 보다 큰 공간을 ..

[운영체제(OS)] 공룡책으로 공부하는 운영체제 - 목차

전공자가 아닌지라, 기초 지식이 부족한 저는 그 유명하다는 공룡책으로 기초 지식을 쌓기로 했습니다. 정석대로 순서대로 가는 공부가 아닌, 필요하고 재밌어보이는 부분부터 공부할거라 순서가 조금 뒤죽박죽일 순 있습니다. 그래서 이 페이지에 링크를 걸어 순서를 정리해보고자 합니다. [part 1 개관] Chapter 1. 운영체제 개요 키워드 컴퓨터 시스템 기본 구성 부팅 매커니즘과 인터럽트(interrupt) Chapter 2. 운영체제 구조 운영체제 서비스 커널(Kernel)과 시스템 콜(System Call) [part 2 프로세스 관리] Chapter 3. 프로세스 프로세스의 개념과 PCB(Process Control Block) 프로세스 스케쥴링 컨텍스트 스위치 프로세스 연산(생성, 종료) 프로세스 ..

[운영체제(OS)] 14-1) 파일 시스템

다음 2가지 특성을 이유로 파일 시스템을 유지하기 위한 보조저장장치에 대부분 디스크가 사용됩니다. 디스크는 같은 블록에 재기록이 가능 디스크에 있는 임의의 블록의 정보를 직접 접근할 수 있음 쉽게 데이터를 저장하고 찾을 수 있게 되어 있으며, 여러 층으로 이루어져 있고 각 층은 낮은 층의 기능을 사용해 새로운 기능을 만들어 상위층에 제공합니다. 파일 시스템 구현을 위해 계층 구조를 사용하여 코드의 중복을 최소화 하였습니다. 1) 입/출력 제어(I/O control) : 장치 드라이버 루틴들과 인터럽트 핸들러로 이루어져 있고, 메모리와 디스크 시스템 간의 정보 전송을 담당합니다. 장치 드라이버는 번역기 역할을 하며, 입출력 제어기 메모리의 특정 위치의 특정 비트를 설정해서 제어기에 어느 장치에 어떤 일을 ..

[운영체제(OS)] 13-3) 파일 보호 방법과 메모리 사상 파일

파일 시스템은 사고로 삭제, 파괴될 수 있기 때문에 컴퓨터에 대한 신뢰성은 파일의 복사본에 의해 제공됩니다. 그에 대한 내용은 아래 포스팅에서 자세히 다룹니다. https://geukggom.tistory.com/283 [운영체제(OS)] 11-4) 저장장치 연결, RAID 컴퓨터는 호스트에 연결하는 방식, 네트워크로 연결된 저장장치, 클라우드 저장장치. 이렇게 3가지 방법으로 보조저장장치에 접근합니다. 1. 호스트 연결 저장장치 : 로컬 I/O 포트를 통해 액세스 geukggom.tistory.com 파일 접근의 유형에는 읽기, 쓰기, 실행, 추가, 삭제, 리스트(파일의 속성, 이름 등을 출력), 속성 변경 등이 있습니다. 파일에 대한 보호는 이런 기본 연산을 수행할 때 시행됩니다. : 파일 보호의 가..

[운영체제(OS)] 13-2) 디렉토리 구조

디렉토리의 연산에는 파일 찾기, 파일 생성, 파일 삭제, 디렉토리 나열, 파일의 재명명, 파일 시스템 순회(여러 디렉토리를 순회하며 파일을 볼 수 있게 해주는 것) 등이 있습니다. 가장 일반적인 디렉토리의 논리적 구조는 다음과 같습니다. 1) 1단계 디렉토리(Single-Level Directory) : 가장 간단한 디렉토리 구조로, 모든 파일이 한 개의 디렉토리의 밑에 있습니다. 파일이 많아지거나 다수의 사용자가 사용하는 시스템에서는 제약이 심한데, 한 디렉토리에 모든 파일이 있기 때문에 각각의 파일은 유일한 이름을 가져야 합니다. 2) 2단계 디렉토리(Two-Level Directory) : 각 사용자는 자신만의 디렉토리(UFD, user file directory)를 가지고 한 사람의 파일만을 저장..

[운영체제(OS)] 13-1) 파일 시스템과 접근 방법

: 보조저장장치에 기록된 관련 정보의 집합으로, 프로그램(소스 프로그램과 목적 프로그램)과 자료(작성자와 사용자에 의해 의미가 정의된 비트, 바이트, 라인, 레코드들의 연속)를 나타냅니다. * 텍스트 파일 : 행, 페이지들로 구성되는 연속된 문자들 * 소스 파일 : 함수들의 연속 * 실행 파일 : 로더가 메모리로 가져와 실행시킬 수 있는 연속된 코드 부분들 1) 이름 2) 식별자 : 우리가 읽을 수 없는 파일의 이름. 보통 하나의 숫자로 되어 있음. 3) 유형 4) 위치 5) 크기 6) 보호 : 접근 제어 정보로, 누가 읽기, 쓰기, 실행 등을 할 수 있는지를 제어함. 7) 타임스탬프와 사용자 식별 몇몇 새로운 파일 시스템은 확장된 파일 속성도 지원하는데, 보안 정보를 포함합니다. 모든 파일에 대한 정보..

[운영체제(OS)] 12-3) 커널 입출력 서브시스템, 입출력 요청 주기

: 커널에서 제공하는 입출력과 관련된 서비스들입니다. 하드웨어와 장치 드라이버 구조를 바탕으로 합니다. 1) I/O 스케줄링 : 입출력을 실행할 순서를 결정합니다. 응용 프로그램이 봉쇄형 입출력 시스템 콜을 하면 그 입출력 요청은 해당 장치의 큐에 들어갑니다. 입출력 스케줄러는 성능과 평균 응답 시간을 향상시키기 위해 큐 안의 순서를 재배치해줍니다. 2) 버퍼링 : 두 장치 사이 또는 장치와 응용 프로그램 사이에서 데이터가 전송되는 동안 전송 데이터를 임시로 저장하는 메모리 영역입니다. 버퍼링이 필요한 이유에는 세가지가 있습니다. 데이터의 생산자와 소비자 사이의 속도 차이에 대처하기 위해. 데이터 전송 크기가 다른 장치들 사이의 완충을 제공할 때. (ex) 네트워킹에서 송신 측 큰 메시지는 보다 작은 네..

[운영체제(OS)] 12-2) 응용 입출력 인터페이스, 입출력 성능

응용 입출력 인터페이스의 특성에는 다음과 같은 것들이 있습니다. 문자 스트림과 블록 : 문자 스트림 장치는 바이트를 하나씩 전송하고, 블록은 블록 단위로 전송합니다. 순차 접근과 임의 접근 : 순차 접근은 순차적으로, 임의 접근은 임의의 위치에 있는 자료를 입출력하는 것입니다. 동기식과 비동기식 : 다른 이벤트와 조율하여 일정 응답시간을 보이는 것이 동기식, 조율하지 않고 불규칙한 응답시간을 보이는 것이 비동기식입니다. 공유와 전용 : 공유는 여러 프로세스나 스레드가 동시에 사용할 수 있고, 전용은 혼자서만 사용해야 합니다. 동작 속도 : 장치의 속도는 초당 몇 바이트 ~ 기가바이트까지 다양합니다. 읽기/쓰기, 읽기 전용, 한 번만 쓰기 응용 입출력 인터페이스의 종류를 알아보겠습니다. 1) 블록 장치와 ..

반응형