실제 운영체제의 이해 리눅스 운영체제 : 리눅스 커널(운영체제) + 시스템 프로그램(쉘) + 응용 프로그램 쉘 종류 쉘(shell) : 사용자와 컴퓨터 하드웨어 또는 운영체제간 인터페이스 사용자의 명령을 해석해서 커널에 명령을 요청해주는 역할 관련된 시스템콜을 사용해서 프로그래밍이 작성되어 있다 쉘 종류 Bourne-Again Shell (bash) : GNU 프로젝트의 일환으로 개발됨, 리눅스 거의 디폴트이다 Bourne Shell (sh) C Shell (csh) Korn Shell (ksh) : 유닉스에서 가장 많이 사용된다 Process Management 응용 프로그램은 여러개의 process로 관리됨 process scheduler process 실행, 종료 관리 인터럽트 처리 관리 Memor..
Virtual Machine (가상 머신) 하나의 하드웨어(CPU, Memory등)에 다수의 운영체제를 설치하고, 개별 컴퓨터처럼 동작하도록 하는 프로그램 Virtual Machine Type 1 (native 또는 bare metal) 하이퍼바이저 또는 버추얼 머신 모니터 (VMM) : 운영 체제와 응용프로그램을 물리적 하드웨어에서 분리하는 프로세스 하이퍼바이저 또는 버추얼 머신 모니터 (VMM)라고 하는 소프트웨어가 Hardware에서 직접 구동 - Xen, KVM Virtual Machine Type 2 하이퍼바이저 또는 버추얼 머신 모니터 (VMM)라고 하는 소프트웨어가 Host OS 상위에 설치 - VMWare, Parallels Desktop (Mac) Full Virtualization (전..
Boot 컴퓨터를 켜서 동작시키는 절차 Boot 프로그램 : 운영체제 커널을 Storage에서 특정 주소의 물리 메모리로 복사하고 커널의 처음 실행위치로 PC를 가져다 놓는 프로그램 부팅 과정 컴퓨터를 키면… BIOS가 특정 Storage 읽어와 bootstrap loader를 메모리에 올리고 실행한다 bootstrap loader 프로그램이 있는 곳을 찾아서 실행시킨다 출처 : 제로베이스
파일 시스템 운영 체제가 저장 매체에 파일을 쓰기 위한 자료구조 또는 알고리즘 파일 시스템이 만들어진 이유 (블록) 0과 1의 데이터를 어떻게 저장매체에 저장할까? 미트로 관리하기에는 오버헤드가 너무 큼 블록 단위로 관리하기로 함 (보통 4KB) 블록마다 고유 번호를 부여해서 관리 파일 시스템이 만들어진 이유 (파일) 사용자가 각 블록 고유 번호를 관리하기 어려움 - 추상적(논리적) 객체 필요 : 파일 사용자는 파일단위로 관리 - 각 파일에는 블록 단위로 관리 파일 시스템이 만들어진 이유 (저장 방법) 저장매체에 효율적으로 파일을 저장하는 방법 가능한 연속적인 공간에 파일을 저장하는 것이 좋음 외부 단편화, 파일 사이즈 변경 문제로 불연속 공간에 파일 저장 기능 지원 필요 블록 체인 : 블록을 링크드 리..