반응형

운영체제 33

[운영체제(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-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) 블록 장치와 ..

[운영체제(OS)] 12-1) 입출력 하드웨어

컴퓨터에서 작동되는 장치는 저장장치, 전송 장치, 사용자 인터페이스 장치 등으로 나뉩니다. 포트 : 컴퓨터 시스템과 접속하는 연결점. 버스 : 하나 이상의 장치들이 사용하는 공동 선. 회선의 집합으로, 어떻게 메시지를 주고받을 지 정한 프로토콜까지 포함. 데이지 체인(daisy chain) : 연속적으로 연결되어 있는 하드웨어 장치. 하나의 버스처럼 동작하며, A가 B에 연결되고, B가 C, C가 컴퓨터의 포트까지 연결되어있는 구조. 컨트롤러 : 포트, 버스, 장치를 작동할 수 있는 전자장치 집합체. 위 이미지에서는 확장 버스(expansion bus)가 상대적으로 느린 장치(키보드, 직렬, USB 포트)들을 연결하고 있고, PCI 버스가 프로세스-메모리 서브 시스템을 확장 버스에 연결하고 있습니다. P..

[운영체제(OS)] 11-3) 저장 장치 관리, 스왑 공간 관리

: 메모리, 네트워킹 및 저장장치를 포함한 많은 컴퓨팅 영역에서 필수적입니다. 메모리 시스템은 패리티 비트를 사용해 특정 오류를 오랫동안 감지했습니다. * parity : 고정 길이 워드의 값을 계산, 저장, 비교하기 위해 나머지 연산을 수행하는 체크섬(중복 검사)의 한 형태입니다. 각 바이트에 1로 설정된 비트 수가 짝수이면 패리티 = 0, 홀수이면 패리티 = 1 입니다. 바이트의 비트 중 하나가 손상되어 패리티 값이 바뀔 경우의 모든 단일 비트 오류는 메모리 시스템이 감지합니다. 이중 비트 오류는 감지되지 않을 수 있는데, 순환 중복 검사(CRC)는 이러한 다중 비트 오류를 해시 함수를 사용하여 감지합니다. 오류 수정 코드(ECC)는 문제 감지와 보정을 함께 합니다. 복구 가능한 오류를 소프트 오류,..

반응형