2011년6월24일_고수준/저수준파일입출력(임시제목)
★ 선생님과 커뮤니케이션 중요! –> 수업(강의)수준을 올리자!! 경청하자! (논어(어록)과 같이 대화(쌍방)로 깨달음. ★ 먼저 자신의 잘 못을 반성하고 사과를 한 후 자신을 개조. ★ 피해의식을 없애자! |
주 메모리상의 20Bytes크기의 구조체A를 보조 메모리인 HDD에 기록할 때,
20Bytes외에 header와 tail이 붙는다. tail은 필수가 아니나 header는 꼭 붙는다.
파일도 변수처럼 symbol table을 그릴 수 있다.
type | name | address |
struct | A | 100 |
exe | A | S3 T3 ㅁ |
보조기억장치에 기록된 A라는 파일의 확장자(타입)은 exe이고 실행파일이다.
그 위치는 3번 섹터 3번 트랙이다.
malloc : Memory ALLOCation
FAT : File Allocation Table
NTFS : New Technology File System
메모리할당은 메모리에 변수를 할당하여 시작주소를 알려주는 것이고,
파일할당테이블도 마찬가지로 파일의 내용이 있는 곳의 주소를 테이블로 잘 정리해 놓은 것이다.
NTFS의 NT는 windows NT에서 NT와 같은 뜻이고,
과거 DOS는 UNIX에서 많은 기능을 뺀 OS로 개인사용자를 이용한 OS였다.
그 때 사용하기 시작했던 FAT는 보안기능이 없고 사용자에 따른 권한이 없었으나,
windows NT로 넘어오면서 사용자계정이 생기고 파일에 대한 보안설정이 필요하였다.
그래서 NTFS를 사용하게 되었다. (?)
FAT보다 NTFS가 항목이 훨씬 많다.
● File Format : Data가 디스크에 기록되는 구조.
① windows : PE방식
② linux : 뭘까?
● 삭제명령을 내리면, 유저명령 –> 명령해독기 –> 커널 –> 파일지움.
● 프로그램이 파일 열기 요청 –> 운영체제가 거부 –> NULL반환.
★ 운영체제가 컴퓨터의 모든 자원을 통제
● C언어는 운영체제에 맞춰야 최적화. windows에 맞추면 리눅스에선 최적화가 되지 않을 수 있다.
● JAVA는 JVM(가상머신)이 있어 운영체제에 맞출 필요없어 편하다.
jdk : JAVA개발툴 (sdk를 S/W개발툴이라 부른다.)
jre : JAVA실행환경
Application
|
JVM
|
운영체제
|
드라이버
|
하드웨어
JAVA언어로 짜여진 어플리케이션은 JVM에서 실시간 번역되어 운영체제 위에서 실행되고,
C언어로 짜여진 어플리케이션은 JVM과 같은 해독기가 필요없이 운영체제 위에서 실행된다.
● 고수준파일입출력방식 : 버퍼사용해 버퍼가 차면 디스크에 기록을 수행하여 효율적이다. (fscanf, fprintf)
● 저수준파일입출력방식 : 버퍼를 사용하지 않고 바로 기록하여 속도가 빠르나 비효율적이다. (read, write)
DMA : CPU를 거치지 않아 주변장치와 메모리간에 빠른 데이터전송이 가능함.
임베디드C p.321설명 부터 문서작성시작해야함.
'내장형하드웨어 > 일일보고서' 카테고리의 다른 글
2011년6월27일_리다이렉션(Redirection) (0) | 2011.06.28 |
---|---|
2011년6월27일_네트워크, 패킷, 프로토콜, IP주소, 포트번호, 루프백주소, 소켓이란? (0) | 2011.06.28 |
2011년6월24일_2차원 동적배열을 달팽이 배열에 적용하여 사용자가 입력한 크기의 배열출력 (0) | 2011.06.24 |
2011년6월23일_구조체(struct), 구조체배열, 구조체포인터 (0) | 2011.06.24 |
2011년6월23일_C과제11(동적배열(메모리동적할당), 2차원 동적배열) (0) | 2011.06.24 |