OS
- HW를 효율적으로 사용할수있게하는 SW
- User의 사용성을 편리하게 해줌
- User와 HW 사이 중재자 역할
이러한 시스템을 위해 OS가 제공해야 할 것?
1. I/O 루틴
- printf, scanf 같은 함수, 프로그램, 코드를 read/write 할 수 있도록 해야함
2. 메모리 관리
여러 작업에 메모리를 할당
3. CPU 스케쥴링
충돌일어나지 않게 여러 작업들 중 하나 선택
4.장치 사용 권한
컴퓨터 시스템
- cpu와 각 장치들의 프로세스가 컨트롤러에 있음
- 컨트롤러끼리는 시스템 버스로 데이터를 주고 받음
- 시스템 버스는 공용이므로 동시사용X
- cpu에게 사용권을 받아 사용해야함
- cpu는 데이터를 이동시킴
- 각 장치들의 컨트롤러는 해당장치를 관리, 자신만의 로컬버퍼를 가짐(일종의 메모리)
- i/o 장치는 cpu와 동시에 따로 각자 동작함
작동 방식
1. disk1에 write
- main memory의 데이터를 hdd의 로컬 버퍼에 이동 후 이동 된 데이터 write
- cpu가 hdd의 컨트롤러한테 write 하라고 명령하면 컨트롤러가 로컬버퍼의 내용을 지정된 곳에 write
2. disk2를 read
- cpu가 hdd의 컨트롤러한테 read 하라고 명령
- 컨트롤러가 read해서 로컬버퍼에 넣고 read한 후 cpu에게 알림
- 로컬 버퍼에 있는 것 main memory로 옮김
3. 한계
- cpu는 비싼 자원임
- pma가 컨트롤러한테 전달하는 역할을 대신하고 r/w 끝나면 인터럽트 개념을 적용하여 cpu에게 알림
- i/o 연산은 장치와 컨트롤러의 로컬버퍼 사이에서 일어남
폰노이만
- multiprogramed
- 프로그램 저장 컴퓨터의 개념으로 순서를 따라 한번에 하나씩 실행되는 명령어
- 명령어는 실행전 보조 기억장치에 있음
- 메인메모리에 탑재후 한줄씩 cpu로 넘어감
'OS' 카테고리의 다른 글
Multi Programmed System : Dual- Mode, protection 기법 (0) | 2024.10.26 |
---|---|
저장 구조 및 입출력 (3) | 2024.10.26 |
OS Interrupt, I/O구조 입출력 과정, DMA (0) | 2024.10.26 |
Virtual Memory 가상 메모리 (0) | 2024.10.25 |
컴퓨터 시스템 유형 (0) | 2024.10.25 |