전체 글
-
[컴구] - 컴퓨터의 구성CS/면접준비 2022. 9. 30. 15:41
컴퓨터 구성 컴퓨터는 기본적으로 읽고 처리한 뒤 저장하는 과정으로 이루어짐 Hardware 컴퓨터를 구성하는 기계적 장치 1. 중앙처리 장치(CPU) Processor라고 불린다. 프로그램 명령어와 데이터를 읽어와 처리하고 명령어의 수행 순서를 제어 비교와 연산 산술논리연산장치(ALU)+명령어의 해석과 실행을 담당하는 제어장치+속도가 빠른 데이터 기억장소인 레지스터로 구성 2. 기억 장치 프로그램, 데이터, 연산의 중간 결과를 저장하는 장치 주기억 장치 = Main Memory라고도 불리며 RAM , ROM / Program이 필요한 데이터를 임시 저장 보조 기억 장치 = Disk라고 불리며 주기억 장치에 비해 속도는 느리지만, 자료 영구 보관 3. System Bus Hardware를 물리적으로 연결하..
-
[OS] - File SystemCS/면접준비 2022. 9. 30. 15:07
File System 컴퓨터에서 파일이나 자료를 쉽게 발견할 수 있도록, 유지 및 관리하는 방법이다. 저장매체에는 수많은 파일이 있기 때문에, 이런 파일들을 관리하는 방법을 말한다. 특징 Kernel에서 동작 CRUD 기능을 수행 계층적 Directory 구조 Disk Partition별로 하나씩 둘 수 있다. 역할 File management 보조 저장소 관리 파일 무결성 접근 방법 제공 목적 Disk와 Main memory의 속도 차이를 줄이기 위함 File 관리 Disk의 효율적인 사용 구조 Metadata+data Metadata = Data 영역에 기록된 File의 Name, location, 크기, Time, 삭제 유무 Data = File Data 파일을 구성하는 레코드들이 보조기억장치에 편..
-
[OS] - MemoryCS/면접준비 2022. 9. 30. 14:26
Memory Main Memory 주 기억장치라고도 불린다. CPU가 직접 Access 가능한 기억장치 Process가 실행되려면, Program이 Memory에 올라와야 한다. Cpu는 Register가 지시하는데로 Memory에 접근하여 수행할 명령어를 가져온다. 명령어 수행 시 Memory에 필요한 Data가 없다면, 데이터를 가져와야 한다. 이 때 도움을 주는 것이 MMU MMU ( Memory management Unit ) Logical Address -> Physical Address로 변경하여 준다. Memory 보호, Cache 관리, Cpu Memory 접근 을 관리하여 준다. Base+Limit을 활용하여 접근가능한 메모리의 영역을 알고 이외의 영역에 접근 시 Trap이 발생 안정성을..
-
[OS] - Paging AlgorithmCS/면접준비 2022. 9. 30. 12:49
Paging Change Algorithm 요청하는 Page가 Main Memory에 없다면(Page Fault) -> 새로운 Page 할당 -> 할당된 Page 중에서 어떤 것을 Main Memory에서 내려서 사용할 것인가? Virtual Memory는 필요한 Page만 Memory에 적재한다. 그럼에도 Main Memory가 가득 찰 수 있다. 가득차게 된다면 안쓰는 Page는 Out 하고 요청한 Page를 In해야 한다. 이 때 Page Out되는 Page를 Victim Page라고 하며, 수정이 되지 않은 Page를 우선으로 하여 Page Out한다. ( 수정되면 Disk 작업이 필요하다 ) Page Reference String Cpu는 Logical Address를 통해 특정 Address를..
-
[OS] - Paging / SegmentationCS/면접준비 2022. 9. 30. 12:37
Paging , Segmentation Multi Programming에서 여러 Process를 수용하기 위해 Main Memory를 분할하여 Memory 관리 관리 방식 1. Continuous Memory 관리 Program 전체가 하나의 커다란 공간에 연속적으로 할당 고정 분할 : Internal fragmentation 동적 분할 : External fragmentation 2. Non Continuous Memory 관리 Program 일부가 서로 다른 Address 공간에 할당 Page = Process를 고정 사이즈로 분할 Frame = Page와 동일한 크기로 Main Memory 분할 Fragmentation = Hole Space , data가 여러 조각으로 나누어지는 현상 Segmen..
-
[OS] - Semaphore / MutexCS/면접준비 2022. 9. 30. 00:09
Semaphore MultiProgramming 환경에서 Shared Resource에 대한 접근을 제한 Shared Resource에 여러 Process가 동시에 접근하면서, 문제가 발생 할 수 있다. Resource에는 그렇기에 하나의 Process만 접근이 가능하다. Critical Section 여러 Process가 data를 Share하면 수행 할 때, 각 Process에서 Shared Data를 접근하는 코드 부분 Shared Data를 여러 Process 가 접근하면 잘못된 결과가 발생 할 수 있다. Semaphore P,V P : Critical Section에 들어가기 전에 수행 V : Critical Section에서 나올 때 수행 #SemaPhore P(S) # Critical Sec..
-
[OS] - DeadLockCS/면접준비 2022. 9. 29. 23:10
DeadLock 2개 이상의 Process 혹은 Thread가 서로 Resource를 얻지 못하여 다음 처리를 하지 못하는 상태 무한히 Resource를 기다리게 되는 상태 ( Wait ) System 한정된 Resource가 여러 곳에서 사용되면 발생한다. 하나의 Process에서 Resource를 요청하였을 때, 동시에 Resource를 사용할 수 없는 상황이 발생 -> Process는 Wait State Starvation = 식사하는 철학자 링크 DeadLock 발생 조건 4가지 모두 필수조건 1. Mutual Exclusion ( 상호 배제 ) Resource는 하나의 Process에서만 사용 할 수 있다. 2. Hold and wait ( 점유 대기 ) 최소한 하나의 Resource를 점유, ..
-
[OS] - CPU SchedulingCS/면접준비 2022. 9. 29. 18:34
CPU Scheduling Processor(CPU)가 Process를 적절하게 배정하여 사용률을 높이고 Overhead와 Starvation을 낮추기 위함 목표 1. Batch System : 가능하면 많은 일을 수행한다. (일을 한개씩 하는 것보다 100개씩 처리하는것이 좋다) 2. Interactive System : 빠른 응답 시간, 적은 대기 시간 3. Real-time System : Deadline Preemptive vs NonPreemtive Preemptive OS가 Cpu를 Process를 선점할 수 있는 경우 강제로 변경 가능하다. NonPreemptive Process Exit , I/O Event가 있을 때 까지는 Process의 실행을 보장하여 준다. Process State ..