-
Chapter 10: Virtual Memoryos 2020. 11. 28. 18:49
Background 에러코드, 잘 사용되지 않는 프로그램, 큰 데이터 구조는 잘 사용하지 않는다. -> 처음부터 동시에 그 프로그램들이 메모리 상에 올라갈 필요가 없다. -> 동적으로 Load가 된다. -> 이러면서 응답시간이 빨라진다 -> I/O 적게 할 수 있다 Virtual memory -> logical memory과 physical memory 구분해 준다 -> logical memory이 physical memory 보다 클 수 있다. -> I/O작업을 적게 하기위해 스와핑이 필요하다. Virtual address space 프로세스의 관점에서 본 메모리에 저장된 있는 것을 공간이다 0부터 얼마만큼 떨어져 있는가 등등 Demand Paging Swap in Swap out Page is nee..
-
Chapter 9: Main Memoryos 2020. 11. 4. 20:39
Background Memory로 이동한 프로그램 -> 프로세스 하나의 프로그램이 여러 개의 프로세스를 만들 수 있다 CPU에 직접적으로 전송하는 것은 memory이다. Base registers: 시작 주소 Limit registers : 프로세스의 용량을 나타낸다. Address Binding CPU에 의해서 발생되는 address하고, physical address하고 다르다. -> 이것을 어떻게 일치시켜야 한다. -> 이것을 Address Binding이다. 왜 그런 가? CPU에서 발생하는 address는 시작이 0000부터 시작한다. -> 찾아가려는 코드는 0부터 얼마만큼 떨어져 있는 지 표시하는 것이 실제 메모리 주소이다 -> 다시 입력 exe) 300040 -> CPU는 실제 메모리 주소를..
-
Chapter 8: Deadlocksos 2020. 10. 26. 11:58
System model 2가지 형태로 되어 있다. 관계를 나타낸 것이다 프로세스와 리소스 간의 관계 프로세가 리소스를 사용하는 방법 Request Use release(해제) Deadlock Characterization Deadlock 걸렸을 때, 나타나는 특징 1. Mutual exclusion 상호배제(리소스에 대한 상호배제) 상호배제 현상이 발생한다. 의미 찾아보기 2. Hold and wait 프로세스가 최소 1개의 리소스를 hold하고 있고, 자기가 필요로 하는 리소스를 기다리고 있다. 3. No preemption 비선점 선점이 안된다. 선점이 된다면 deadlock이 안걸린다 4. Circular wait 돌아가는 형태(사이클 형태)로 기다리고 있다. Resource-Allocation 프..
-
Chapter 6: Synchronization Toolsos 2020. 10. 16. 18:57
Background 프로세스들이 concurrently(동시에) 여러 개가 실행될 수 있다. 공동으로 사용하는 데이터가 한꺼번에 접근을 할 수 있다. 변수, 데이터, 파일 등등 자기가 원치 않은 결과값이 나올 수 있다. -> 데이터 값이 변한다. 문제가 생기는 것이다. Producer Full or not 이것을 체크한다. Full이면 물건을 받지 못한다. 카운터값이 Buffer 값보다 작아야 한다. 그래야지 while값을 빠져 나온다. Counter 가 0이 아니면 Out위치에 있는 것을 소비하기위해 out값을 증가시키고 소비자 값을 1개 낮춘다 consumer Race Condition counter++ register1 = counter register1 = register1 + 1 counter ..
-
Chapter 2: Operating-System Structuresos 2020. 10. 11. 17:26
operating system services user interface: 사용자와 하드웨어 사이를 연결시키는 것(예 윈도우 창) Program execution I/O operations(I/O 사용) File-system manipullation Communications Error detection Resource allocation accounting protection(보호) and security(보안) protection: 접근과 불법적인 침입을 막는다 security: 접근은 허용하나, 불법적인 침입은 막는다. CLI(Commned-Line Interface) CLI or commend interpreter는 직접적으로 명령 입력을 할 수 있다. shell: 여러가지 특징이 구현된 프로그램..
-
Chapter 5: CPU Schedulingos 2020. 9. 28. 12:01
Basic Concepts(개념) cpu scheduling: 순서를 정하는 것이다.(multiprograming) 하는 이유 cpu의 활용을 maximum으로 하기위해 -> 이러면 cpu가 놀지 않고 일한다. 그러면 process들이 일을 빨리할 수 있다. Burst: 시간 Cpu burst: cpu를 사용하는 시간 I/O burst: I/O를 사용하는 시간 CPU를 사용하는 시간 0~8에서 process를 쓰고, 그 뒤는 거이 쓰지 않는다. -> process는 CPU를 사용하는 시간이 아주 짧다. CPU Scheduler CPU의 scheduling이 필요로 할 때 running -> waiting running -> ready state waiting -> ready terminates 때 sch..
-
Chapter 1: Introductionos 2020. 9. 18. 21:06
Operarting System은 무엇인가? 사용자와 하드웨어 사이를 이어주는 중개인 역할을 한다. Operarting System의 목표 사용자의 program 실행과 사용자 문제를 더 쉽게 풀기위해 컴퓨터 시스템을 더 쉽게 사용하기 위해 효율적으로 컴퓨터 하드웨어를 사용한다. Computer Systen Structure Operating Systen Definition(정의) OS는 resource allocator이다 모든 resourse(자원)을 관리한다 효율적이고, 공정한 resourse 사용을 위해 상충되는 요청 사이에서 결정한다 OS는 control program이다. 오류 및 부적절한 컴퓨터 사용을 방지하기 위해 실행을 control한다. OS의 정의 하나의 정의로 설명되지 않는다 컴퓨터..
-
Chapter 3: Processesos 2020. 9. 16. 12:38
Operating System에서는 다양한 프로그램을 실행시킨다. Process, jobs(tasks)는 거의 같은 의미로 사용된다. Process Process는 실행중인 프로그램, 실행중인 Process의 실행은 순차적으로 진행되어야 한다 특징 프로그램 코드는 text section이라고 한다. processor registers중에 program counter는 다음에 실행될 명령어를 가지고 있다. stack에는 일시적인 데이터가 들어있다.( Function parameters, return addresses, local variables) 실행 시간 동안 동적 할당 메모리를 포함하는 heap 전역 변수를 포함하는 data section Program은 소극적이고, process는 활동적인이다 Pr..