OS

OS란? , 컴퓨터 시스템 작동 방식

sshhhh 2024. 10. 25. 15:56

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로 넘어감