본문 바로가기

CS(Computer Science)13

[CS] 리눅스 배경지식 이해 📖 리눅스의 시작 대학에 있는 UNIX 컴퓨터를 집에서 쓰고 싶다는 생각으로 리누스 토발즈(Linus Torvalds)가 개발했다고 한다. 리눅스는 다중 사용자, 다중 작업(시분할 시스템, 멀티 태스킹)을 지원하는 유닉스(UNIX)와 유사한 운영체제를 가지고 있다. ✅ GNU 프로젝트 GNU = Gnu is Not Unix. 유닉스 운영체제를 여러 회사에서 각자 개발, 소스를 공유하지 않는 문화에 반발 리차드 스톨만 : 초기 컴퓨터 개발 공동체의 상호협력적인 문화로 돌아갈 것을 주장하며, 1985년도에 GNU 선언문을 발표 GNU 프로젝트를 지원하기 위해 자유 소프트웨어 재단(FSF) 설립과, GNU 공개 라이선스(GPL)라는 규약을 제공 ✅ GPL 라이선스와 GNU프로젝트 GPL라이선스는 쉽게 얘기하면.. 2023. 3. 3.
[CS] 부팅 과정 이해 📖 Boot 컴퓨터를 켜서 동작시키는 절차를 뜻한다. ✅ Boot 프로그램 운영체제 커널을 Storage에서 특정 주소의 물리 메모리로 복사하고 커널의 처음 실행위치로 PC를 가져다 놓는 프로그램을 말한다. ✅ 부팅과정 컴퓨터를 키면, BIOS가 특정 Storage를 읽어와 bootstrap loader를 메모리에 올리고 실행한다. bootstrap loader 프로그램이 있는 곳을 찾아서 실행시킨다. 라고 정리 할 수 있지만 조금 더 길게 풀어 쓰면 다음과 같다. 미리 컴퓨터에 픽스 되어있는 ROM에서 BIOS 코드를 로드해서 하드웨어가 문제가 없는지 간단하게 체크하는 작업을 한다 반드시 특정주소에서 특정 작은 영역을 읽게 끔 약속이 되어 있는데 아주 간단한 부트프로그램을 로딩할 수 있는 프로그램을 심.. 2023. 3. 1.
[CS] 가상머신과 운영체제 이해 📖 Virtual Machine (가상 머신) 하나의 하드웨어(CPU, Memory 등)에 다수의 운영체제를 설치하고, 개별 컴퓨터처럼 동작하도록 하는 프로그램이다. 대표적인 가상머신 시스템을 두 가지 타입으로 나눈다면, ✅ Type1 (native 또는 bare metal) 하이퍼 바이저(또는 VMM) : 운영 체제와 응용프로그램을 물리적 하드웨어에서 분리하는 프로세스 하이퍼바이저 또는 버추얼 머신 모니터 (VMM)라고 하는 소프트웨어가 Hardware에서 직접 구동 대표적인 예 ) Xen, KVM 하드웨어 위에 가상머신 프로그램을 설치해서 공간별로 운영체제를 따로 설치한다. 💡 KVM AWS(아마존 클라우드 컴퓨팅 서비스) 등에서 사용 ✅ Type2 하이퍼바이저 또는 버추얼 머신 모니터 (VMM)라고.. 2023. 3. 1.
[CS] inode 파일 시스템 구조 이해 📖 inode 파일 시스템 구조 이해 inode 방식의 파일 시스템은 기본적으로 블록단위로 이루어져 있다. 수퍼 블록 : 파일 시스템에 대한 정보 및 파티션 정보를 가지고 있다. 아이노드 블록 : 각각의 파일에 대한 상세한 정보가 들어 있다. 데이터 블록 : 실제 데이터가 들어 있다. ✅ inode와 파일 리눅스 시스템에서 각각의 파일은 유일한 inode 고윳값과 inode 기반으로 하는 PCB 같은 자료구조에 의해 주요 정보를 관리한다. 과정을 대략 정리하면 다음과 같다. '파일이름 : inode'로 파일이름은 inode 번호와 매칭 파일 시스템에서는 inode를 기반으로 파일 액세스 inode 기반 메타 데이터 저장 💡 inode 기반 메타데이터에는 어떤 것들이 있을까? inode 기반 메타데이터 에.. 2023. 3. 1.