학교 수업/OS
-
OS의 second storage structure(disk)학교 수업/OS 2020. 5. 12. 14:18
Disk : 컴퓨터의 보조 기억 장치, 비휘발성 ex) 하드디스크, 플로피 디스크 등 1. 디스크의 구조(disk structure) 1) logical block : 디스크의 외부에서 보는 디스크의 단위 정보 저장 공간 주소를 가진 1차원 배열로 인식을 하며, 정보를 전송하는 최소 단위 Logical block은 물리적인 디스크에 매핑된 위치 2) sector : 디스크 내부에서 디스크를 관리하는 최소 단위 sector 0은 최외곽 실린더의 첫 트랙에 있는 첫번째 섹터 track(데이터 저장 공간)의 일부를 sector라고 한다. 2. 디스크 관련한 시간들 1) 탐색시간(seek time) : 헤드를 해당 데이터가 존재하는 트랙이나 실린더 위에 위치시키는 소요 시간 (disk arm의 head)2) 회..
-
OS의 파일시스템?학교 수업/OS 2020. 5. 10. 23:11
OS의 자원관리 기능 중 프로세스 관리, 메모리 관리를 이전 포스팅들에서 다뤘고이제는 파일관리(파일시스템, 파일 및 디렉터리 생성)에 대해 보겠다. File System(파일시스템)- 컴퓨터 사용자의 응용프로그램을 실행함으로써 생성하는 정보를 파일이라는 단위로 저장&관리하는 운영체제의 서브시스템, 사용자와 보조기억장치 간의 인터페이스를 제공 1. 파일 시스템의 기능 1) 사용자가 파일을 생성, 수정, 제거할 수 있도록 한다. 2) 여러 사용자가 파일을 공유하여 사용할 수 있도록 한다. 3) 불의의 사고에 대비한 백업과 복구 능력이 있다. 4) 주기억장치와 보조기억장치 간의 파일 전송 담당한다. 5) 각 응용에 적합한 구조로 파일을 구성할 수 있도록 한다. 2. 파일시스템의 파일관련 작업 - 파일시스템이 ..
-
OS의 메모리관리2학교 수업/OS 2020. 5. 9. 18:57
Virtual memory(가상메모리) - 한정된 physical memory의 한계를 극복하고자 디스크와 같은 보조기억장치를 활용해 더 많은 메모리를 활용할 수 있게 하는 것. - virtual memory에서 paging 기법을 사용할 때 거의 demand paging 기법으로 구현된다. Demand paging - swapping + paging - 실제로 필요한 page만 물리 메모리로 가져오는 방식 -> physical memory의 여유공간이 얼마나 되는지 고민할 필요 x 프로그램이 전체 다 메모리에 올라오는 것일 아니라, 동시에 많은 프로그램을 메모리에 올려 작업 수행 가능 한꺼번에 올리는 소스의 양이 적어 disk와 memory간 I/O작업속도 빨라짐 1) Valid-invaild bit를..
-
OS의 메모리 관리학교 수업/OS 2020. 5. 8. 17:29
이전에는 OS의 자원관리 기능 중 프로스세스관리(스케줄링, 동기화, 교착상태해결)에 대해 배웠고, 이제는 자원 관리 기능 중 기억장치 관리에 대해 배울 것이다. 그 전에 알아야 할 몇 가지 배경들이 있다 1. 운영체제는 각 프로세스들을 메모리 각각의 공간에 할당하고, 프로세스가 다른 프로세스에 접근하는 것을 막는다. 메모리에 프로세스가 올라가 있는 상태 그림 -> 메모리에서 프로세스 시작 위치를 저장하는 base register -> 프로세스에게 할당된 메모리 크기 저장하는 limit register 두 개의 레지스터 값을 통해 프로세스들의 메모리공간을 나눈다. 2. 주소바인딩 - 주소바인딩이란? 프로세스가 접근해야 하는 값과 함수에 대한 주소가 정해지는 것 프로그램이 컴파일 되어 메모리에 올라간 후, ..
-
Deadlock학교 수업/OS 2020. 5. 7. 18:55
Process scheduling과 Process synchronization에 대해 배웠다면,이제는 Deadlock에 대해서 배워보자. 교착상태(Deadlock) 둘 이상의 프로세스가 더 이상 계속할 수 없는 어떤 특정 사건을 기다리고 있는 상태 1) 교착상태가 발생하기 위해서는 4가지 조건이 동시에 만족되어야한다. ① 상호배제(mutex exclusion) : 한 번에 한 프로세스만이 자원을 사용해야 하는 경우 ② 점유와 대기(block and wait) : 자원을 일부 점유하면서 다른 자원을 기다리는 경우 ③ 비선점(non preemption) : 프로세스가 완료되기 전에는 자원을 회수할 수 없는 경우 ④ 환형 대기(circular wait) : 자원을 할당 받은 두 프로세스가 서로 할당된 자원을 ..
-
OS의 process synchronization?학교 수업/OS 2020. 5. 5. 17:28
이전에는 OS의 프로세스 관리 법 중 프로세스 스케줄링에 대해 배웠다면지금은, 프로세스 동기화에대해 배워보자. Synchronization Synchronization(동기화)가 필요한 이유 병행 프로세스 : 두 개 이상의 프로세스가 동시에 실행 상태에 있는 것으로 병행성이 높아져 시스템 성능은 향상되지만 공유자원 선점을 위한 프로세스 간 경쟁현상*이 발생하게 된다. Race condition : 동시에 여러 개의 프로세스들끼리 하나의 자원을 두고 서로 경쟁하는 상황 자료의 일관성을 해치는 결과가 나타낼 수 있다. -> 이 문제를 해결하기 위해서는, 동기화가 필요하다 동기화(Synchronization)? 병행프로세스가 공유자원을 사용할 때, 프로세스 간 처리순서를 결정하는 방법 동기화 하는 방법(mut..
-
OS의 process scheduling학교 수업/OS 2020. 5. 3. 23:26
운영체제는 자원관리 기능을 수행하는데, 자원관리 기능 중 프로세스 관리가 있다. 프로세스란 무엇이고, 어떻게 프로세스를 관리(스케줄링, 동기화, 교착상태해결)하는지 자세히 알아보자. Process 프로세스(process) : - 현재 CPU에 의해 실행 중인 프로그램 (프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)를 할당 받아 프로세스가 된다.) - PCB를 가진 실행이 가능한 프로그램 - 프로세서가 할당하는 개체로서 디스패치가 가능한 단위이다. - 비동기(Asynchronous)적인 행위이다. - 목적 또는 결과에 따라 발생되는 사건들의 과정이다. - 운영체제가 관리하는 실행 단위이다. 1. 프로세스의 상태 전이 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태 변화 프로세스 상태① N..
-
OS?학교 수업/OS 2020. 5. 2. 23:49
Operating System 운영체제(Operating System) : - 제한된 컴퓨터 시스템의 자원을 효율적으로 관리&운영함으로써, 사용자에게 최대의 편리성을 제공하고자 하는 인간과 컴퓨터 사이의 인터페이스를 위한 시스템 소프트웨어- 운영체제는 커널모드(kernel mode)와 사용자모드(user mode)로 나뉘어 구동된다. 커널모드 : 운영체제가 CPU의 제어권을 가지고 운영 체제 코드를 실행하는 모드모든 종류의 명령을 다 실행 가능CPU 내부에 모드비트(mode bit)가 0 사용자모드 : 일반 사용자 프로그램이 실행되며 제한적인 명령만을 수행 모드비트(mode bit)가 1 -> 시스템의 중요한 영향을 미치는 연산은 커널 모드에서만 실행 가능하게 함으로써 하드웨어의 보안 유지 - 운영체제 ..