반응형

**극꼼이네 GGTales** 307

[운영체제(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) 타임스탬프와 사용자 식별 몇몇 새로운 파일 시스템은 확장된 파일 속성도 지원하는데, 보안 정보를 포함합니다. 모든 파일에 대한 정보..

[Flutter] Tree 구조와 Widget

플러터에는 화면을 구성하는 3개의 트리 구조가 있습니다. 위젯 트리(Widget Tree)는 코드를 작성하여 화면에 그려지는 객체의 구조이고, 플러터 프레임워크가 화면을 만들 때 엘리먼트 트리(Element Tree), 렌더 트리(Render Tree)가 만들어집니다. 퍼포먼스 최적화와 화면 렌더링 속도를 위해 엘리멘트 트리와 렌더 트리가 별도로 존재합니다. 플러터는 네이티브 앱 수준의 성능을 목표로 하기 때문에 최적의 알고리즘으로 화면에 변화가 있는 부분만 다시 렌더링해서 반영할 수 있도록 설계되어 있습니다. 1) 위젯 트리(Widget Tree) 위젯 자체가 실제 화면에 출력되는 대상은 아니고, 프레임워크에서 뷰 설명을 보고 위젯트리를 참조해 실제 화면에 출력할 객체들을 별도 트리 구조로 만듭니다. ..

[Flutter] 2023.04.10

[Flutter] 프로젝트 시작하기 (macOS)

1. Flutter SDK 설치 아래 링크에 들어가서 Flutter SDK를 설치해줍니다. https://docs.flutter.dev/development/tools/sdk/releases?tab=macos Flutter SDK releases All current Flutter SDK releases, stable, beta, and master. docs.flutter.dev Stable channel (macOS) 에서 최신버전을 다운받았는데, 같은 버전이 2개(x64, arm64) 있어서 어떤걸 다운받아야 할지 모르겠을 때는 터미널에 다음과 같이 입력해주면 됩니다. uname -p 이제 터미널에 Flutter SDK 경로를 입력해주어야 합니다. 아래 Update your path에 나온대로 수행..

[Flutter] 2023.04.09

[Flutter] 에러 해결(Warning: dart on your path resolves to~)

플러터를 다운받은 후, 터미널에 flutter doctor를 쳐보니 다음과 같은 경고 메시지가 떴습니다. ! Warning: `dart` on your path resolves to /(dart의 경로), which is not inside your current Flutter SDK checkout at /(flutter 경로). Consider adding /(flutter 경로)/bin to the front of your path. 플러터는 자체 버전의 dart와 패키지로 함께 제공되어서 다트를 따로 설치할 필요가 없다고 합니다. 터미널에 다음과 같이 입력해서 dart를 uninstall해주면 경고 메시지가 사라지는 것을 확인할 수 있습니다. brew uninstall dart

[Flutter] 2023.04.08

[운영체제(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-4) 저장장치 연결, RAID

컴퓨터는 호스트에 연결하는 방식, 네트워크로 연결된 저장장치, 클라우드 저장장치. 이렇게 3가지 방법으로 보조저장장치에 접근합니다. 1. 호스트 연결 저장장치 : 로컬 I/O 포트를 통해 액세스되는 저장장치. 2. 네트워크 연결 저장장치(NAS) : LAN(Local Area Network), WAN(Wide-Area Network) 범위에서 접근 가능. 3. 클라우드 저장장치 : 원격 클라우드에 있는 장치를 연결. : Redundant Array of Inexpensive Disk. 중복 메모리를 사용하여 성능을 향상시키고, 그 중 하나가 오류를 일으켜도 데이터가 분실되지 않아 신뢰성을 높이는 구조. 값싼 디스크 여러 개를 붙여서 하나의 디스크처럼 보이게 하는 것입니다. 1) 중복으로 신뢰성 향상 미러..

반응형