목록dev-log (172)
H-Log
파일 시스템 ( = 윈도우 탐색기) 파일 관리자가 저장장치 전체 관리 파일 테이블을 사용하여 관리 (만든 시간, 수정 시간, 용량, 위치 등… 내용은 없음!!) 파일 접근 권한 등을 관리 (파일 디스크럽터 관리) 파일 테이블 블록 : 저장장치에서 사용하는 가장 작은 단위 어떤 파일이 어떤 블록에 있는지 기록 파일 이름과 확장자 과거에는 이름과 확장자의 글자수 제한이 있었음 → 현재는 완화 (최대 길이는 255자) 파일 이름에 마침표 여러번 사용 가능 → 마지막 마침표 뒤를 확장자로 인식 윈도우보다 유닉스 규칙이 더 빡셈 (특수문자는 아예 안됨) 파일 작업 파일 내용 변경 편집기를 통해 변경 작업명에 괄호가 있음 (함수인듯) 파일 자체 변경 윈도우 탐색기에서 하는 일 (생성, 삭제, 이동, 복사, 검색 등..
메인보드 포트 CPU 포트 램 포트 : 수직으로 꽂는 곳 그래픽 포트 (AGP) : 외부 그래픽카드 꽂는 곳 SATA : 직렬 포트. 하드디스크같은 저장장치 연결 PCI : 그외 주변 장치 연결 포트 PCIe (PCI + express) pc에서 가장 많이 쓰는 표준 (ex. USB) SCSI (스카시) PC 이상의 큰 시스템의 표준 ⇒ 표준이 필요한 이유 : IO마다 인터페이스가 모두 다르지만 표준으로 통일하면서 컨트롤러나 설치가 필요 없이 운영체제 자체에서 해결이 된다. 직렬/병렬 포트 직렬 : 데이터가 한줄로 이동 병렬 : 데이터가 여러줄로 이동 속도 비교 : 직렬 > 병렬 USB포트 표준 연결 포트 직렬 포트임 포트 연결 단자 핀이 줄어들수록 빠른전송이 됨 (직렬이 속도가 더 빨라서) 그래픽카드 ..
구조 플래터(n장) > 트랙(n바퀴) > 섹터(n칸) 디스크 암 (ram) + 읽기/쓰기 헤드 → 이동하면서 데이터 읽음 플래터 표면에 자성체 있음 자기를 이용해 0,1 데이터 저장 2장 이상 구성 (1장이면 플러피 디스크) 항상 일정한 속도로 회전 트랙 동일한 동심원상에 있는 섹터의 집합 (플래터에서 회전축을 중심으로 같은 거리에 떨어져있는 섹터의 집합) 실린더 여러개에 플래터에 있는 같은 위치 트랙의 집합 섹터 하드디스크의 가장 작은 저장단위 1섹터가 10bit일 때, 5bit만 사용해도 무조건 10bit로 측정됨 하나의 섹터에는 하나의 덩어리 데이터 저장 배드 섹터 : 상처가 있어서 데이터를 저장할 수 없는 섹터 블록 하드디스크 - 컴퓨터 사이 데이터를 전송하는 가장 작은 단위 여러개의 섹터로 구성..
주변장치 저속 주변장치 키보드, 마우스 등 고속 주변장치 그래픽카드, 하드디스크 등 채널 공유와 분리 여러개 버스 묶어서 사용 → 데이터가 다니는 통로 “채널” 전송 속도가 비슷한 장치끼리 묶어서 채널 할당 입출력 버스의 구조 초기 폴링 방식 이용 CPU가 모두 처리 → 느림 입출력 제어기 사용 → 메인 버스 / 입출력 버스 사이에 존재 IO Interface IO controller IO module CPU가 할 일이 줄어서 전체 작업 효율 향상현재 입출력 버스 분리 메인/고속/저속/그래픽 으로 분리 버스 사이 데이터 전송 → 채널 선택기 그래픽카드는 너무빨라서 입출력 제어기가 아닌, 메인버스에 바로 연결 직접 메모리 접근 (DMA) 입출력장치 - 메모리 직접 접근 입출력 제어기에게 부여된 권한 (CP..
가상메모리 물리 메모리보다 더 큰 프로세스를 사용할 수 있음 메모리 관리자가 바라보는 크기 : 물리메모리 + 스왑영역 동적 주소 변환 (DAT : Aynamic Address Translation) 가상주소 → 물리주소 변환 페이징 기법 → 페이지 매핑 테이블 (페이징 테이블) 사용 세그멘테이션 기법 → 세그멘테이션 매핑 테이블 (세그멘테이션 테이블) 사용 메모리 참조의 “지역성” 공간의 지역성 : 현 주소와 가까운 데이터에 접근할 확률이 높다 시간의 지역성 : 최근에 사용한 주소 (프로세스)가 다시 사용될 가능성이 높다 순차적 지역성 : 작업이 순서대로, 즉 주소가 순서대로 읽히는 것 (공간과 유사) ⇒ 지역성 때문에 스왑영역에서 물리주소로 한번 불러오면(스왑 인), 한동안은 다시 스와핑 할 일이 없음..
메모리 폰노이만 구조 중 “유일한 작업공간” 프로세스 → 독차지 하고싶어 함 관리자 → 효율적 운영하고 싶어 함 운영체제 → 위 둘의 중재자 메모리 주소 0번지부터 시작 16진수 사용 메모리 관련 작업 fetch : 가져오기 실행할 프로세스, 데이터를 메모리에 적재 언제 가져올지 placement : 배치 어디에 가져올지 replacement : 재배치 메모리가 꽉 찼을 때 비교 어떤 프로세스를 내보낼지 언어 번역 프로그램 컴파일러 : 코드를 한번에 번영 인터프리터 : 코드를 한줄 씩 번역 컴파일러 과정 에디터 (고급언어) → test.c 컴파일러 (어셈블리어) 어셈블러 (2진수) → test.obj 링커 (라이브러리 연결) 로더 (메모리 적재) → test.exe 다이나믹 라이브러리 : 파일 실행 시 ..