Linux/Kernel Analysis

    메모리 관리 - 1. 가상메모리 (Virtual memory)

    컴퓨터의 시스템에서 메모리를 사용할 때 물리적으로 존재하는 메모리양만을 이용하여 사용하면 한계가 있다. 그 한계를 극복하기 위한 방법 중 하나가 가상 메모리이다. 가상 메모리는 실제 물리적 메모리의 크기와 상관없다. 가상메모리는 가상적인 주소 공간을 사용자 task에 제공하며, 32비트 경우 최고 2^32 (4GByte)만큼의 가상 주소 공간을 사용자에게 제공한다. (64비트는 2^62) 여기서 가상메모리는 물리적으로 4GB는 개념적으로 제공되는 것으로 물리적으로 4GB가 제공되는 것이 아니다. 실제로는 사용자가 필요한 만큼만 메모리를 제공한다. 이 방식을 토대로 가상 메모리는 사용자에게 개념적으로 큰 공간을 제공하지만, 물리 메모리는 필요한 만큼의 메모리만 사용하므로 가능한 많은 태스크를 동시 수행할 ..

    리다이렉션 / 파이프

    리다이렉션 / 파이프

    리다이렉션 1. 표준 출력의 리다이렉션 -최초 사용자 로근시에는 input device는 키보드로, output device는 모니터로 설정되어있다. 리눅스 시스템에서는 리다이렉션과 파이프를 통해 입력과 출력의 방향을 변경할 수 있는 기능을 제공한다. 리다이렉션이란 화면 출력을 파일 출력으로 변경하는 것 이다. '>' 문자 이용하여 출력을 화면에서 파일로 변환하여 출력한다. 하지만 기존의 파일에는 덮어써진다. '>>' 위의 명령과 달리 덮어쓰기가 아닌 존재하는 파일 끝에 추가하여 쓰여진다. 2. 표준 입력의 리다이렉션 - 표준 입력을 키보드에서 파일로 변경하는 것을 말한다. - 파일에서 데이터를 읽어와 화면에서 출력한다. 3. 파이프 라인 - 어떤 명령의 실행 결과를 다음 명령의 입력값으로 만들기 위해 ..

    파일의 종류

    1. 일반파일 - 일반 사용자가 작성한 문서 등의 가장 기본적인 정보 단위 2. 디렉토리 파일 - 디렉토리에 포함된 다양한 파일 들에 대한 위치, 크기 등의 정보 가진 파일 3. 특수 파일 - 주변 장치로부터 데이터 입/출력 위한 장치 파일 -문자 특수 파일 : 버퍼가 없는 장치로부터 한번에 한 문자씩 입출력을 하기 위해 쓰이는 파일 -블록 특수 파일 : 일정한 크기의 묶음으로 자료를 입출력하는 장치에서 사용되며, 버퍼기술을 사용해 자료 전송 효율을 높인다. 4. 소켓 -네트워크 입/출력을 담당ㅇ하는 파일 5. 네임드 파이프 - 프로세서 간 통신 수행 위한 파일로 데이터 중간에서 통제하는 역할을 수행한다. 6. 소프트링크 - 윈도우의 바로가기와 비슷한 기능으로 파일 내용을 가지는게 아니라 파일을 가리키도..

    파일 시스템 (File system)

    파일시스템이란? - 운영체제에서 파일 저장시 사용되는 파티션이나 디스크를 가리킬 때 사용한다. 파일 저장을 위한 수단, 방법이라고 할 수 있으며 파일을 보관/ 검색 등의 수단이다. 부트블록운영체제를 부팅시키기 위해 필요한 코드 저장된 블록이다.파일시스템은 대부분 부트 블록에서 시작하게 되고, 하드웨어가 부팅에 필요한 코드를 가지고 있다. i-node 리눅스는 파일을 생성할 때 두가지를 수행하는데, 먼저 파일의 데이터를 저장할 공간을 확보하고, 다음 파일에 대한터터 기본 정보들을 저장하기 위한 i-node라는 구조를 만들어 파일을 사용시 필요한 정보들을 저장한다. 리눅스는 이런 i-node를 table에 저장하여 놓는다. 어떤 디렉토리내에 파일을 보는 것은 어떤 파일이 어떠한 디렉토리안에 있다라고 말하지만..

    쉘이란 사용자가 사용하는 일반적인 명령어를 컴퓨터에게 기계어로 변경하여 명령을 내리는 명령해석기 또는 프로그래밍 언어라고 볼 수 있다. 즉 사람과 컴퓨터사이의 인터페이스와 커널사이의 대화를 위해 필요하다. Bourne(sh) 쉘 : 전 유닉스 에서 가장 기본적으로 사용되고 있는 쉘 C 쉘(csh) : C언어를 모방?하여 제작된 쉘 Korn 쉘(ksh) : Bourne쉘과 C쉘을 서로 보완하여 만들어진 쉘 Bash 쉘(bash) : 현재 가장 널리 사용되는 쉘

    운영체제 O/S

    운영체제는 컴퓨터 시스템을 구성하는 하드웨어와 그 컴퓨터를 사용하는 사용자 또는 프로그램을 중계하는 역할이라고 보면 된다. 운영체제를 사용함으로써, 사용자는 어렵게 하드웨어에 직접 접근하여 사용하지 않고, 기본적으로 간편하고 쉽게 컴퓨터 시스템을 사용할 수 있다. 운영체제가 메모리 및 여러가지 하드웨어와 기능을 담당함으로써 현재 컴퓨터 사용자들은 컴퓨터의 하드웨어까지 알 필요없이 간편히 사용하고 있다.