목록운영체제 (3)
뜌릅

파일 시스템이란 파일을 다루는 시스템을 의미한다. 파일 시스템이 무엇인지에 대해 설명하기에 앞서 파일이 무엇인지 알아보는게 좋을 듯 싶다. 파일이란 파일이란? 데이터나 프로그램을 담는 그릇입니다( 파일시스템은 그 그릇들을 관리하는 것이다). 정확히 말하자면 데이터나 프로그램을 저장하는 연속적인 논리적 공간입니다. 파일의 젤 앞부분을 offset 0 라고 하며, 여기서부터 데이터가 연속적으로 담기게 된다. 데이터의 타입은 바이너리일수도, 일반 정수일수도 Char타입일수도 있습니다. 파일의 구조는 어떨까? 파일의 구조는 OS나 프로그램이 정합니다. None: 연속적인 바이트 구조 Simple Record: 레코드의 한줄이 구조가 되는 것이다. 길이는 가변적일수도 고정적일수도 있습니다. Complex: Doc..

메모리는 전통적으로 한정적이었습니다. 운영체제는 이 메모리를 효율적으로 운용하기 위해서 적절한 관리방법이 필요했고, 크게 나누어보면 가상메모리와 물리 메모리 2가지로 나누어 볼 수 있습니다. 모든 프로그램이 실행될려면 메모리에 탑재가 되어야 합니다. 이는 CPU가 메모리와 레지스터에만 접근이 가능하기 때문입니다. CPU는 메메모리 주소를 기반으로 작동을 하며, 우리가 아는 HDD나 SDD는 Block Device로 Block단위로 디바이스를 통하여 IO가 발생합니다. (NAND 메모리(RAM)는 PAGE단위로 NOR 메모리(Register)는 바이트 단위로 IO가 가능합니다.) 하지만 실제 모든 프로세스가 메모리의 0번지에서 시작하지는 않습니다.(커널메모리나 기타 등등) 따라서 이를 위해서 가상메모리가 ..

스케줄러는 왜 필요할까? CPU에서는 프로세스를 수행하는데, 최대 효율과 반응성을 높여야 한다는 목표가 있습니다. 이를 위해서는 스케줄링을 잘해야 합니다. 프로세스의 비용을 추상화 하면, Process Cost = CPU Brust + IO Brust 라는 식이 나옵니다. 여기서 Brust는 실행을 의미합니다. CPU Brust는 CPU가 직접 계산하는 Cost을 의미하고, IO Brust는 인터럽트 발생 Cost을 의미합니다. 어떤 프로세스는 CPU Brust가 클것이고 어떤 프로세스는 IO Brust 부분이 더 클 것입니다. 운영체제는 프로세스의 이러한 점을 고려하여 스케줄링을 행해야 합니다. CPU Brust가 큰 프로세스는 CPU Bounded Process라고 부르고, IO Brust가 큰 부분..