반응형 운영체제55 CH03. Process Description and Control (2) Single Blocked Queue ready 상태에 있는 프로세스랑 blocked 상태에 있는 프로세스를 같은 공간에서 대기를 시키면 안 됨. (dispatcher가 다음에 실행할 프로세스를 선택을 하는데, 한 곳에 모여있으면 하나하나 확인하기 번거로움) 일단 메인 메모리에 올라오면 Ready Queue에 가서 대기를 함. → Dispatch가 되면 CPU를 사용하다가 만약 Timeout이 되면 다시 레디 큐로 돌아옴. 반면, CPU를 사용하다가 입출력 작업을 하면, Blocked Queue로 들어감. → Blocked 큐로 가서 한참 대기를 하다가, I/O 작업이 끝나면 다시 레디 큐로 올라감. Multiple Blocked Queues 왜 Block이 되었는지에 따라 (기다리는 Event에 따라).. 2024. 4. 23. CH03. Process Description and Control (1) Process 프로세스 = "실행 중인 프로그램" 시스템에서 관리해야 할 것들 중에 제일 중요한 첫 번째가 “프로그램” ⇒ 프로세스 형태로 관리함 실행 중인 프로그램은 프로세스가 되어서 OS에 의해 관리됨. 프로세스라고 하는 자료구조를 만들어서 그 안에 필요한 정보들을 다 집어넣게 되는 것임. 실행을 하면서 프로세스의 상태가 계속 변함 상태가 변해가면서 시스템 안에 있는 여러 자원들을 사용할 것임. OS는 프로세스의 명령을 한 줄 한 줄 실행하면서 OS의 상태가 변하는 것들을 계속 관리하면서 OS가 사용하는 자원들 관리까지 함. → 이와 같은 활동의 단위가 프로세스임 Process Elements 프로세스(라는 자료구조) 안에 넣는 정보들 1. Program code 2. A set of Data 여기서.. 2024. 4. 23. CH02. Operating System Overview (2) Major Achievements OS가 하는 주요 기본 기능들. 방법은 조금 다르지만 다 이런 기능들을 갖고 있음 1. Processes 실행 중인 프로그램을 관리하기 위해서 OS가 사용하는 자료구조 OS는 프로그램을 프로세스 안에 집어넣고 관리함. (시스템마다 프로세스에 어떤 정보를 집어넣는지 .. 등에 대해서는 시스템마다 다름. BUT! 프로세스를 사용해서 관리한다는 것은 다 동일함) 2. Memory Management 프로그램이 처음에 실행파일 형태로 하드디스크에 있음. → 실행을 시작하면 프로세스 형태가 되어서 메인 메모리로 올라옴 메인 메모리가 항상 공간이 넉넉하지 않음. 일부만 올려넣기에도 공간이 넉넉하지 않을 때가 있음. → 프로세스가 하드디스크로 완전히 쫓겨나가는 상황도 있음. 실행 파.. 2024. 4. 23. CH02. Operating System Overview (1) Operating System OS는 프로그램이다. OS의 역할 application programs을 실행시키는 역할을 함 OS가 여러 프로그램 중에서 어떤 프로그램을 실행시킬지 결정을 하고, 해당하는 프로그램이 어디까지 실행했는지 or 어디부터 실행해야 되는지를 찾아서 해당하는 프로그램 카운터 값을 CPU의 PC에 넣어줘야 어플리케이션 프로그램이 실행을 시작함. 따라서 OS가 없으면 어플리케이션 프로그램이 실행을 시작할 수도 없고, 끝낼 수도 없음. 어플리케이션 프로그램과 하드웨어 사이의 인터페이스 역할을 함. OS가 프로그래머들이 하드웨어 detail을 몰라도 되도록 감싸주는 역할을 함. User/Computer Interface 아래 쪽의 회색으로 되어있는 부분 : 하드웨어 컴포넌트 (system.. 2024. 4. 23. CH01. Computer System Overview (3) Changes in Memory and Registers 왼 편에 있는 그림 프로그램이 시작되다가 interrupt가 발생해서 OS가 작업을 시작하는 과정 오른편에 있는 그림 OS가 interrupt 처리를 다 한 후, 실행했던 프로그램을 다시 실행시키기 위해서 하는 작업 양쪽 그림 회색으로 표시된 것 : 메모리 메모리의 가장 아래편에 User Program. 하늘색으로 표시된 것 : CPU User's Program CPU 안의 PC 값 : N+1 따라서 지금은 N번째 명령을 실행하고 있음. (PC의 값은 다음에 실행할 것 같은 명령의 주소를 갖고 있기 때문) 따라서 이 그림은 명령 N번까지 실행을 하고, interrupt가 발생한 상황. Interrupt Service Routine Y번째부터 Y+L.. 2024. 4. 23. CH01. Computer System Overview (2) Example of Program Execution (2) 왼쪽에 파란색으로 표시된 것은 메모리, 오른쪽에 회색으로 표현된 것은 CPU임. 이 그림은 Fetch Stage와 Execute Stage를 세 명령에 대해서 그려놓은 것 0001은 메모리 특정 번지에 있는 데이터를 AC로 가져오라는 명령 0010은 AC에 있는 데이터를 메모리의 특정 번지에 저장하라는 명령 0101은 AC에 있는 내용과 메모리의 특정 번지에 있는 데이터를 서로 덧셈을 한 다음에 그 결과값을 AC에 저장하라는 명령 즉, 여기 보이는 세 개의 명령은 940번지에 있는 데이터를 AC로 가져왔다가 거기에 941번지에 있는 데이터를 더하고 더한 결과 값을 941번지에 저장하라는 명령 (a=a+b) Memory 안 맨 앞에 명령들 써 있음.. 2024. 4. 22. 이전 1 2 3 4 ··· 10 다음 반응형