no image
[System] Memory Management in Linux System - 2
2024.06.10 - [Computer Science/OS, System] - [System] Memory Managemen in Linux System - 1 [System] Memory Management in Linux System - 1Memory Paging 기법을 이용한 기술 논문을 읽다가 문득 Memory Management 에 대해서 무지했던 것을 알고 이번 기회에 정리하려고 한다. Memory Paging 리눅스에서 페이징 기법은 메모리 관리를 하기 위한developepe.tistory.com 이전 내용에서 이어진 글 입니다 우리가 고용량의 파일을 메모리가 부족함에도 불구하고 게임을 돌릴 수 있는 이유가 무엇일까 한번 생각해보자.내 컴퓨터에는 16GB의 RAM이 장착되어있고 Battle..
2024.06.10
no image
[System] Memory Management in Linux System - 1
Memory Paging 기법을 이용한 기술 논문을 읽다가 문득 Memory Management 에 대해서 무지했던 것을 알고 이번 기회에 정리하려고 한다. Memory Paging 리눅스에서 페이징 기법은 메모리 관리를 하기 위한 기술이다.물리 메모리 주소를 고정된 크기의 블록인 '페이지' 로 나누고(보통 4KB), 가상 메모리 주소를 물리 메모리 주소로 매핑하는 방식이다. 먼저 페이징이 왜 도입되었는지 살펴보면 다음과 같다.메모리 부족 문제초기 시스템은 물리 메모리가 현재에 비해서 매우 제한된 메모리를 가짐.가상 메모리를 통해 프로그램이 더 큰 주소공간을 사용할 수 있도록 요구됨.Memory Fragmentation(메모리 단편화)메모리를 할당하고 해제하는 과정에서 작은 빈 공간들이 여기저기 흩어지는..
2024.06.10
no image
[System] RAID가 뭐야? 교수님의 기습 질문의 당황했던 나
RAID(Redundant Array of Independent Disk)여러개의 Disk를 묶어 하나의 디스크 처럼 사용하는 기술이다.(뭔가 가상 메모리 느낌이 난다. 부족한 디스크를 다른 디스크와 결합하여 하나의 디스크로 사용한다는 점이..) RAID를 사용했을 때 효과는 다음과 같다.데이터 무결성 유지: 추후에 언급될 RAID는 여러 레벨이 존재하고 RAID 1, RAID 5, RAID 6, RAID 10은 데이터 보호를 제공한다. 하나 이상의 디스크가 고장 나더라도 데이터를 복구할 수 있는 기능을 갖추었다.고가용성: RAID 배열에서 디스크가 실패하더라도 시스템은 계속 작동할 수 있다. 즉, 서비스 중단 최소화병렬작업: 여러 디스크에 데이터를 분산하여 동시에 읽고 쓸 수 있어 성능이 향상된다.스토..
2024.06.10
no image
[System] File System 종류
파일 시스템 (File System)Linux 부팅 프로세스에서 중요한 역할을 하는 File System이다. SSD, HDD 등의 하드웨어에 저장된 데이터를 OS에서 어떻게 저장하고 관리할 것인지 결정한다. Windows에서는 윈도우 파일 탐색기를 통해 파일 시스템을 확인할 수 있다. 탐색기에서는 C:\ 폴더 아래에 여러 개의 폴더로 이루어지는 Tree 형태의 구조를 이루고 있다. 이러한 파일 시스템은 과거 DOS에서 사용한 FAT(File Allocation Table)부터 윈도우의 NTFS, 유닉스의 UFS 등이 존재한다.(윈도우에서는 폴더라고 부르고 Unix 계열에서는 디렉토리 라고 불린다. 구분하는게 좋음!) 파일 시스템 종류FAT(File Allocation Table)FAT16(File Al..
2024.06.10
no image
[System] BIOS/UEFI 가 대체 뭘까
이전에 시스템 부팅과정에서 BIOS/UEFI에 대한 얘기가 나왔는데 얘기가 길어질 것 같아서 따로 정리했다.BIOS(Basic Input Output System)?BIOS는 PC에 전원을 켜고 OS를 시작할 때 까지 HW와 OS사이의 펌웨어 인터페이스이다.BIOS는 ROM(Read-Only Memory)에 저장된 Built-in 프로그램으로서, 하드웨어의 자원을 초기화하고 운영체제에 제어권을 인계하는 역할을 한다.(우리가 컴퓨터 키자마자 Delete, F12 를 누르면 나오는 화면이 바로 BIOS이다.)BIOS는 제조사 별로 다르지만, 기본적인 것들은 전부 동일하다.  주요기능CPU와 주변장치를 진단CPU와 주변장치를 활성화/비활성화부팅 장치의 우선 순위 설정 ( 1) ROM 2) SSD 3) HDD ..
2024.06.10
no image
[System] Linux 시스템 부팅 과정 - 2
2024.06.10 - [Computer Science/OS, System] - [System] Linux 시스템 부팅 과정 - 1 [System] Linux 시스템 부팅 과정 - 1시스템 보안을 알아보던 중, Linux 시스템의 부팅과정이 어떻게 이루어지는지 알 필요가 있고 자주 망각하기 때문에 정리하려고 글을 쓰려한다.Desktop에 Ubuntu를 설치해놨으니 부팅과정이 어떻게developepe.tistory.com 이전에 진행했던 글을 이어서 작성하겠습니다.Kernel커널은 하드웨어 자원을 관리하고, 하드웨어와 소프트웨어 간 상호작용을 제어하는 운영체제의 핵심 컴포넌트(말을 어렵게 설명하게 되었는데, 쉽게말하면 HW와 SW간 출입국 사무소 라고 보면 될 것 같다.) Initrd 이미지가 작업을 완료..
2024.06.10
no image
[System] Linux 시스템 부팅 과정 - 1
시스템 보안을 알아보던 중, Linux 시스템의 부팅과정이 어떻게 이루어지는지 알 필요가 있고 자주 망각하기 때문에 정리하려고 글을 쓰려한다.Desktop에 Ubuntu를 설치해놨으니 부팅과정이 어떻게 이루어지는지는 알고 쓰는게 좋을 것 같다 .. --  리눅스 부팅 프로세스는 다음과 같이 크게 이루어진다.1. Hardware Initializing2. OS Loading3. Launching System Services4. User Interaction 우리가 컴퓨터 전원을 누르게 되면 BIOS/UEFI가 실행되고 CPU, RAM 과 같은 하드웨어 컴포넌트를 초기화 한다.BIOS와 UEFI는 차후 자세히 설명하고 간단히 설명하자면 컴퓨터 내부 Built-in program code를 실행하는 펌웨어 인..
2024.06.10
no image
[Dart, Flutter] Carousel Slider Indicator 만들기
2023.12.04 - [Programming Language/Flutter] - [Dart, Flutter] Carousel Slider 를 이용하여 여러 View를 보이기 [Dart, Flutter] Carousel Slider 를 이용하여 여러 View를 보이기 간혹 처음사용하는 App을 켜면 사용방법이 touch & slide 형식으로 이루어져있는 것을 몇번 보았을 것입니다. 저희 프로젝트 App에서도 그러한 기능을 넣기위해서 찾아보다가 Carousel Slider 라는 Package developepe.tistory.com 이전에 작성한 글에서는 Carosel Slider를 이용하여 이미지 또는 View를 슬라이드 하는 형식으로 페이지를 이동했습니다. 이번에는 현재 슬라이드가 어디 슬라이드 인지..
2023.12.04
no image
[Dart, Flutter] Carousel Slider 를 이용하여 여러 View를 보이기
간혹 처음사용하는 App을 켜면 사용방법이 touch & slide 형식으로 이루어져있는 것을 몇번 보았을 것입니다. 저희 프로젝트 App에서도 그러한 기능을 넣기위해서 찾아보다가 Carousel Slider 라는 Package를 찾게되었습니다. 백문이 불여일견, 먼저 구현해보면 "아~ 이거 자주봤지" 라는 표현이 나오실 겁니다 ㅎㅎ.. 먼저 Package를 pubspec.yaml 파일에 넣어주고 pub get 을 해줍시다! carousel_slider: ^4.2.1 프로젝트에 사용하기위해 import도 해주시구요! import 'package:carousel_slider/carousel_slider.dart'; import 'package:carousel_slider/carousel_controller..
2023.12.04