본문 바로가기

CS공부

(8)
0. 자료구조 - 톺아보기 1. 개념적 정의자료구조 == 데이터구조는 프로그래밍의 Fundamental building blocks 즉, 기본 구성 요소!"They define how data is organized, stored, and manipulated within a program." ⭐ 데이터를 정리 = Organized저장 = Stored조작 = Manipulated할 지 정의한다. "Understanding data structures is very important for developing efficient and effective algorithms."자료구조를 이해하는 것은 개발 효율, 효율적인 알고리즘에 매우매우 중요함.WHY?적절한 구조를 사용해야 빠르고 메모리를 덜 쓰는 알고리즘을 만들 수 있기 때문이죠..
7. Interrupt InterruptCPU에게 디바이스 컨트롤러를 사용가능하다고 알려주는 하드웨어 매커니즘 CPU의 인터럽트 요청 라인이 입출력 디바이스 컨트롤러에 의해 동작하는 CPU의 인터럽트 처리 순서CPU가 원래 하던 일을 하고 있다가인터럽트가 오면, CPU는 현재 실행 중인 작업을 잠시 멈추고인터럽트 서비스 루틴(ISR, Interrupt Service Routine)을 실행한다ISR은 인터럽트를 발생시킨 디바이스의 요청을 처리하는 코드ISR 처리가 끝나면, CPU는 멈췄던 작업으로 다시 돌아가 계속 실행한다. ISR, Interrupt Service Routine: 1. 인터럽트를 받음2. CPU의 현재 상태를 저장프로그램 카운터(PC) : 다음에 실행할 명령 주소CPU 레지스터들 : 작업에 필요한 각종 데이터..
6. Polling Q: 호스트가 언제 IO controller가 idle한 상태인지 어떻게 알까?host: 보통 주 컴퓨터나 CPU가 있는 시스템, 즉 cpu라고 생각하자.idle: 할 일이 없는 상태 문제 해석: I/O controller가 할 일이 없는 상태인지 CPU가 어떻게 아냐결론: I/O contoller가 저 쉬고 있어요 하고 CPU에 polling과 interrupt로 보고함 Polling (busy-waiting)Busy bit를 상태 레지스터(I/O 컨트롤러안에 있는 레지스터) 에 넣는다. -> 일이 끝나면 clear로 지움.cpu는 반복적으로 busy bit를 체크해서 일이 끝났는지 확인함. 컨트롤러나 디바이스가 빠르면CPU가 상태를 자주 확인해도 금방 작업이 끝나니까Polling 방식이 상대적으로 ..
5. I/O Hardware I/O Instructions란?컴퓨터에서 입출력 장치(키보드, 모니터, 프린터 등)와 데이터를 주고받기 위해 CPU가 사용하는 명령어 디바이스는 대부분 레지스터를 가지고 있음! Register입출력 장치가 CPU와 정보를 주고받기 위해 사용하는 아주 작은 저장 공간데이터, 상태, 명령 레지스터가 있음. local buffer장치가 처리할 데이터를 잠시 저장하는 곳, 장치 내부(프린터, 디스크 등) 디바이스 접근 방식디바이스들은 주소를 가지고 있음구분 용어 설명1️⃣Memory-Mapped I/O (MMIO)디바이스 레지스터가 메모리 주소처럼 배정됨2️⃣I/O-Mapped I/O (또는 Port-Mapped I/O, PMIO)별도 I/O 주소 공간을 사용함
4. I/O Systems I/O 시스템이란다양한 I/O 디바이스들 (키보드, 마우스, 모니터, 스피커 등)을 관리하는 것ports, busses, device controllers이 다양한 디바이스를 연결함. 디바이스 드라이버디바이스들에 대한 상세 내용을 내포함. I/O device의 종류저장장치전달장치휴먼 인터페이스 주요 용어 설명 port: 디바이스들의 연결점bus: daisy chain || shared direct access. 직렬 연결 구조, 다양한 장치가 같은 버스를 공유하지만 직접 연결됨.PCI: PC 내부에서 **CPU와 주변 장치(그래픽 카드, 사운드 카드 등)**를 연결하는 버스.expansion bus: 컴퓨터에 새로운 장치(예: 추가 메모리, 외장 카드)를 붙일 때 사용하는 버스.Serial-attache..
3. Bus bus란컴퓨터 시스템을 구성하는 요소 들간의 연결 통로 data bus, address bus, control bus가 있다. bus의 예시 (읽기, 쓰기)Writingcpu가 저장할 데이터, 저장할 주소를 각각 주소 버스, 데이터 버스에 넣고수행할 명령 Write를 제어 버스에 넣음 Readingcpu가 저장된 데이터, 저장된 주소를 각각 주소 버스, 데이터 버스에 넣고Read신호를 제어 버스에 보낸 뒤, 메모리의 접근을 기다린다.
2. Booting bootstrape program or bootstrap loaderpower-up이나 reboot 하는 기능주로 ROM이나 EPROM에 저장돼 있고, 주로 Firmware로 알려짐. ROM이란?Read Only Memory - 고정 기억 장치한 번 기록된 데이터를 읽기만 가능하고 수정할 수 없는 메모리 반도체입니다. 전원이 꺼져도 내용이 유지되는 비휘발성 메모리이며, 컴퓨터의 BIOS, 운영 체제 등의 기본적인 정보가 저장되어 있습니다. EPROM Erasable Programmable Read-Only Memory: 자외선이나 전기로 내용을 지우고 다시 기록할 수 있는 롬. #eprom 역시 불휘발성 메모리라서 부팅에 필요한 정보를 저장하고 있음. 부팅 과정1. 디스크에서 OS 커널을 찾고2. 메모리..
1. Operating System 정의컴퓨터 사용자와 컴퓨터 하드웨어 간에 중개인 역할을 하는 프로그램요청의 충돌과 공정한 자원 분배에 대한 의사 결정- resource allocator: CPU time, Memory space, file storage space, I/O devices, 등 모든 자원을 관리함.- control program: 에러를 막고 적절하게 사용하도록 프로그램을 제어 목표1. 사용자가 프로그램을 실행하고 문제를 쉽게 해결하도록 2. 컴퓨터 시스템을 사용하기 편하게3. 하드웨어가 효율적인 방식으로 동작하도록 성능 지표Throughput: 처리량 - jobs/secUtilization: 사용량 - % of time busyResponse time: 가동 시간 - sec / job 구성요소- 하드웨어- OS- 애플리..