프로그램은 다른 프로그램들과 같이 실행된다. 따라서 번갈아가면서 실행되는데 이 말은 프로그램은 실행이 되다가 중간중간 어디선가 실행하다 멈추게 된다. 하지만 프로그램 안에는 당연히 멈추는 명령이 없다. OS도 마찬가지로 OS 프로그램 안에도 멈추라는 명령은 없다.이 멈
OS는 애플리케이션 프로그램을 실행 및 중단시키는 프로그램이다 = 애플리케이션 프로그램과 하드웨어 사이의 인터페이스프로그램 개발과 관련된 툴 제공컴파일러프로그램 실행IO 디바이스 접근파일 접근시스템 접근오류 detect, responsePC의 권한시스템 안에는 리소스를
실행중인 프로그램 또는 실행 단위 또는 현재 상태하드 디스크의 프로그램 실행 파일을 실행시키면 프로세스가 된다. 프로세스가 되어 필요한 부분들만 메모리 안으로 들어온다. 그래서 프로세스는 하드디스크랑 메인 메모리 사이를 왔다갔다 하면서 작업을 실행하게 된다.Progra
프로그램 크기가 어느정도 이상이 되면 하나의 프로세스로 프로그램을 작성하는 경우는 거의 없다.동시에 작동을 해야하는 상황도 존재하고 실행을 빠르게 하기 위해 쓰레드를 사용한다.ex) 인터넷 검색프로세스자원 할당프로텍션쓰레드실행멀티 쓰레드 시스템이란 프로세스 안에 실행이
Multiprogramming메모리안에 여러 프로세스가 동시에 들어있고 프로세스를 동시에 또는 번갈아 실행하는 상황MultiprocessingCPU가 여러 개 있는 상황Distributed processing네트워크로 연결된 여러 컴퓨터들 위에 하나의 OS 레이어로 하
두 명의 프로세스가 서로 자원 하나씩 상대편이 원하는 자원을 가지는 동시에 상대편이 가지고 있는 자원을 원하는 상황.semSignal 프로세스 ≠ Process A or Process BDeadlock XProcess A와 process B Block & Signal을
메모리안에는 여러개의 프로그램이 동시에 들어가서 실행한다.메모리를 나눠서 여러 프로세스가 동시에 들어갈 수 있게 해야한다.메모리는 크기가 한정적이고 실행을 동시에 하고싶어하는 프로세스의 개수는 많기 때문에 가급적이면 많은 프로세스들이 동시에 메모리에 들어갈 수 있도록
Real MemoryMain memory전체 프로그램이 메모리에 들어간다.프로그램이 점점 커지며 메모리에 들어갈 수 있는 프로그램의 수가 줄어들게 된다.Virtual MemoryMain Memory + Memory on disk프로그램 전체가 아니라, 일부만 메모리에
CPU는 1개, 실행하고 싶은 프로세스는 여러 개Response time유저 입장에서는 내 프로그램이 빠르게 실행되어야 한다.입력을 줬을 때 결과값을 나타내는 시간시스템 입장에서는 중요하지 않다.Throughput시스템 입장에서의 스케쥴링의 목표단위 시간당 작업을 끝낸
Loosely coupled or distributed multiprocess or or cluster독립된 하나의 컴퓨터 시스템들을 네트워크로 연결한 후, 그 위에 OS를 덮어서 하나의 시스템처럼 사용하는 시스템Functionally speciallized proce
Disk I/O는 유저 입출력보다 훨씬 많이 일어난다.프로그램을 실행하다 보면 계속 Page Fault가 발생하는데 그럴 때마다 하드디스크에 가서 Page를 읽어와야 하기 때문이다.OS가 I/O와 관련해서 중요하게 생각하는 2 가지System Efficiency : I