ch02 시스템 구조
·
Linux
2.1 운영체제 서비스 운영체제는 프로그램 실행 환경을 제공 운영체제 서비스 사용자 인터페이스(User Interface) 모든 운영체제는 UI를 제공한다. - 명령어 라인 인터페이스(Command-Line Interface, CLI): 문자열 명령과 입력 - 배치 인터페이스(Batch Interface): 명령어와 명령어를 제어하는 디렉티브(directive)가 파일 형태로 입력되고 그 파일 실행 - 그래픽컬 사용자 인터페이스(Graphical User Interface, GUI): 입출력을 지시하고, 메뉴를 선택하는 지시 장치와 문자열을 입력하는 키보드 포함프로그램 실행(Program Execution) 프로그램은 메모리에 적재되어 실행된다.입출력 연산(I/O Operation) 실행 중인 프로그램은..
메모리 관리
·
Linux
제6장 메모리 관리 리눅스 운영체제의 메모리 관리는 기본적으로 페이징을 기반으로 한 가상 메모리 시스템(Virtual Memeory System)을 지원한다.가상 메모리 시스템의 특징 ▪ 실제 물리적 메모리의 크기에 관계없이 CPU의 형태에 따른 주소 공간을 사용할 수 있다. 예를 들면 32bit 주소 공간을 제공하는 CPU의 경우 4GB의 공간에서 커널이 가상적으로 차지하는 1Gb의 공간을 제외한 3GB의 공간에 해당하는 크기의 프로그램을 실행시킬 수 있다. ▪ CPU의 명령어 수행 시마다 계산되는 가상 주소는 MMU(Memory Management Unit) 하드웨어와 커널의 기능으로 실제 물리 메모리 주소로 변환된다. ▪ 프로그램들의 크기가 크고 또한, 여러 실행 중인 프로세스의 공간은 실제 메모리..
파일 시스템
·
Linux
Chapter 5 파일 시스템5.1 개요파일 시스템은 디스크나 입출력 장치에 정보를 저장하거나 입/출력 및 검색 등을 하기 위한 운영체제의 구성 요소를 말한다. 파일 시스템은 장치로의 입출력이나 저장 형태 등, 장치에 의존적인 복잡한 부분을 감추고 사용자에게 논리적이고 장치에 독립적인 쉬운 사용 인터페이스를 제공하기 위해 존재한다. 예를 들면, 디스크 파일 같은 경우, 실제 입출력을 위한 접근은 트랙(track)이나 섹터(sector) 번호 등으로 해야 하지만 이처럼 복잡한 부분은 커널(kernel)이나 라이브러리가 담당하고, 사용자에게는 디렉토리, 파일 이름 및 상대적 접근 위치(read-write offset)에 의한 논리적인 순차적 접근 방법을 제공한다. 또한, Sun사의 NFS 같은 경우는 원격 ..
리눅스 스케줄링
·
Linux
Chapter 4 리눅스 스케줄링 리눅스 운영체제는 프로세스나 후에 설명될 쓰레드에 대해 선점(preemption) 스케줄링 기법을 제공한다. 선점 스케줄링은 시분할 시스템에서 한 프로세스의 CPU 독점을 방지하기 위해 주어지는 타임 슬라이스(Time Slice)가 소진되었거나, 인터럽트나 시스템 호출 종료 시에 더 높은 우선순위의 프로세스가 발생하였음을 알았을 때 현 실행 프로세스로부터 강제로 CPU를 회수하여 다른 프로세스에 할당하는 것을 말한다. 이러한 선점 스케줄링을 사용하는 대부분의 운영체제는 보통 CPU 효율의 극대화, 프로세스에 대한 빠른 응답(response) 및 공평성의 향상 등을 위해 여러 가지 스케줄링 정책과 동적 우선순위 기법을 사용한다. ① 실시간 프로세스와 일반 프로세스 : 어떤..
프로세스와 쓰레드
·
Linux
제3장 프로세스(Process)와 쓰레드(Thread) 프로세스란 일반적으로 현재 실행 중인 프로그램을 말하며 라는 일반적인 용어도 사용된다.실행 중인 프로그램의 의미를 가지는 프로세스는 실행되는 동안 커널이 가진 자원(CPU, Memory, Devices, Files)을 독자적으로 차지해야 할 경우가 많다. 따라서 프로세스는 항상 커널의 자원을 차지하기 위해 경쟁하고 커널은 이들에게 효율적으로 자원을 스케줄링하여 할당하고 회수하는 역할을 한다. 프로세스는 커널이 가진 여러 가지 자원의 할당 및 사용을 위해 커널 함수를 호출하여야 하는데,이러한 커널 함수들을 일반적으로 시스템 호출(system call)이라 한다. 따라서 동작 중인 컴퓨터 시스템은 커널과 프로세스 간의 관계에 의해 모든 것이 결정되는 것..
리눅스 활용을 위한 기본 지식
·
Linux
제2장 리눅스 활용을 위한 기본 지식 2.1 리눅스의 사용자 계정리눅스는 전술한 바와 같이 다중 사용자를 위한 운영체제이다. 여러 사용자가 사용하는 시스템은 비적절한 접근으로부터 시스템을 보호하여야 한다. 따라서 사용자는 사용자 식별자(username 또는 id)와 접속키(password) 입력에 의한 접근 허가를 받아야 한다. 이러한 과정을 로그인(login) 절차라 한다. 사용자의 이름과 접속키는 /etc/passwd 파일에 수록된다. 접속 키의 경우는 물론 암호화 되어 저장된다. 접속한 사용자의 id는 사용자가 실행시키는 여러 프로그램(프로세스)들에 대해 시스템의 자원 사용 때의 권한을 결정하는 요소가 된다. 일반 사용자 이외에 시스템의 관리를 위해 시스템 자원에 모두 접근할 수 있는 특수 사용자(..
Linux Overview
·
Linux
제1장 Linux Overview1.1 Linux 운영체제의 역사오픈 소스 기반의 운영체제로서 여러 분야에서 각광 받기 시작한 리눅스는 GNU의 GPL(General Public License) 기반의 무료 소프트웨어 개념을 지원하는 운영체제이다. 여러 리눅스 공동체의 활성화와 특히 FSF(Free Software Foundation)의 GNU 프로젝트 및 각 산업체 콘소시움 또는 국가에서 지원하는 수 많은 공개 소프트웨어 프로젝트들을 통해 많은 무료 소프트웨어의 지원과 다양한 하드웨어 지원의 특징을 가지고 있는 리눅스는 서버 및 임베디드 시스템 분야 에서의 약진을 발판 삼아 데스크톱 영역의 진출까지 도모하고 있다. 1.2 리눅스 운영체제의 특징1) 다중 사용자 시스템(Multi User System)서..
01 서론
·
Linux
운영체제(OS Operating System) 컴퓨터 하드웨어를 관리하는 프로그램, 응용 프로그램을 위한 기반 제공 사용자와 하드웨어 사이에서 중재자 역할, 자원 할당자(Resource Allocator), 제어 프로그램(Control Program) 컴퓨터에서 항상 실행되는 프로그램으로 커널(Kernel) 이라 불린다. 현재 범용 컴퓨터 시스템은 공유 메모리에 대한 접근을 제공하는 공통 버스(Bus)를 통해 연결된 여러 개의 장치 제어기와 하나 이상의 CPU로 구성 컴퓨터 시스템 동작(Computer- System Operation) 부트스트랩 프로그램(bootstrap program) : 컴퓨터 구동을 위한 실행 초기 프로그램 부트스트랩 은 펌웨어(Firm-ware) 내 읽기 전용 메모리(ROM)이나..
김 정출
'Linux' 카테고리의 글 목록 (3 Page)