I/O
-
java I/O대학/객체지향프로그래밍 2022. 12. 9. 21:46
java는 입출력을 stream을 통해 처리한다. (FIFO 구조) 단, 한 번에 열 수 있는 스트림 개수가 정해저 있고, 동일한 파일은 둘 이상의 스트림으로 열 수 없다. 스트림을 데이터를 읽는 형식에 따라 아래의 두 종류로 나뉜다. 1. 바이트 스트림: 입출력을 바이너리 데이터로 다룬다. 2. 문자 스트림: 입출력을 문자 단위로 다룬다. 스트림은 보통 버퍼(메모리)와 함께 쓰이는데, 중간에 버퍼를 두는 이유는 스트림과 프로그램 간에 데이터를 효율적으로 전송하기 위함이다. (특히, 입출력 장치와 프로그램 사이 동작 속도가 크게 차이날수록 버퍼를 사용하는게 효율적이다) import java.io.*; class BRReadLines { public static void main(String[] args)..
-
System-Level I/O대학/시스템소프트웨어 2022. 10. 22. 18:24
- Disk Sector 데이터를 저장하는 기본 단위로 512bytes 당 1섹터를 구성한다. 단 1byte를 읽더라도 이 섹터 전체의 데이터를 읽어와야 한다. 이렇게 블록 단위로 데이터에 접근할 수 있는 장치를 Block device 라고 부른다. (HDD, SSD...) 반대로 1byte 단위로 데이터에 접근할 수 있는 장치를 Character device 라고 부른다. (키보드, 터미널...) - Unix files 유닉스 계열 운영체제의 파일은 m bytes의 배열 형태로 관리된다. 예로 들어 /dev/sda2 같은 파일은 /usr의 디스크 파티션을 관리하고, /dev/tty2 는 터미널 파일이다. 유닉스 파일의 종류는 다음과 같다. Regular file Directory file Device ..