리눅스 디바이스 드라이버 프로그래밍
·
Embedded Linux
12.1 Linux 상에서 디바이스의 정의 1. Linux 상에서 제어 가능한 디바이스 종류Linux에서 제어하는 디바이스는 윗 그림의 밑 부분 Device 3가지이다. 디바이스 이름설명디바이스 예Block Device중간에 있는 버퍼를 통해 디바이스 제어에 순서를 마음대로 조정할 수 있는 디바이스들하드 디스크(대부분 메모리 관련 디바이스들)Character Device중간에 버퍼가 없기 때문에, 디바이스 제어 순서를 마음대로 조정할 수 없는 디바이스들키보드, 마우스, LED, 버튼Network Device성격은 Block Device와 유사하나, 중간에 있는TCP/IP 프로토콜 스택에 의해 관리되는 디바이스들Ethernet, Wi-Fi 2. Linux에서 디바이스를 정의하기 위해 필요한 것들-1. 디바..
임베디드 리눅스 구성요소(BSP)
·
Embedded Linux
5.1 BSP 란? BSP(Board Support Package)란 말은 본래 RTOS에서 나온 용어로, “보드를 떠받치는(지원하는) 소프트웨어 패키지란 뜻으로, “보드(하드웨어)를 동작 시키기 위해 필요한 (임베디드) 소프트웨어 묶음” 시스템 별 BSP 구성 형태 위의 그림은 Firmware와 RTOS로 구동되는 시스템과 Non-RTOS 로 구동되는 시스템의 차이를 보여주고 있다. WindRiver 사의 VxWorks와 같은 일부 상용 RTOS를 제외하고 대부분의 RTOS와 Firmware에는 Non-RTOS에서와 같은 파일 시스템(File System)이 없다. 즉 소스들이 아무리 많다 하더라도 결국 컴파일이 끝나면 최종적으로 (CPU에 종속적인) 바이너리 실행 코드 하나만 생성된다. 따라서 Fir..
메모리 관리
·
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' 태그의 글 목록