DEVELOP
article thumbnail
[운영체제] 10. 디스크와 RAID 경영
LECTURE/[2021-1] 운영체제 2021. 6. 17. 07:08

본 게시물은 운영체제 과목의 강의영상과 강의자료를 바탕으로 작성한 학습용 게시물입니다. 디스크 스핀들, 플래터, 섹터, 트랙, 실린더 한 트랙의 섹터 수는 동일 헤드를 움직여 특정 트랙의 특정 섹터를 찾아 읽기 혹은 쓰기 작업 이러한 움직임은 물리적 움직임을 포함하고 있기 때문에 매우 효율적으로 이루어져야 함 섹터 접근의 3가지 시간지연요소 - 탐색시간, 회전지연시간, 전송시간 디스크 스케쥴링 디스크 스케쥴링 - 어느 프로세스의 요청을 먼저 선택하여 실행할 것인지 순서를 결정하는 것 - 목적 : 처리율 극대화 -> 평균 반응시간 줄이기, 반응시간 분산 줄이기 FCFS 스케쥴링 : 먼저 도착한 요청이 우선적으로 서비스 받음 SSTF (Shortest Seek Time First) : 탐색 거리가 가장 짧은..

[운영체제] 9. 파일 시스템 (File Systems)
LECTURE/[2021-1] 운영체제 2021. 6. 17. 06:50

본 게시물은 운영체제 과목의 강의영상과 강의자료를 바탕으로 작성한 학습용 게시물입니다. 파일과 파일 시스템 # 파일의 개념 파일 : 정보의 집합체 보통 보조기억 장치 속에 저장되어 있고, 주로 프로그램 파일 또는 데이터 파일 하나의 파일은 디스크 내 여러 개의 섹터로 구성 가상메모리 : 오브젝트 파일을 프로세스와 연관시키기 위한 추상화 장치 파일 : 모든 입축력 장치를 파일이라는 개념으로 일관성 있게 추상화 추상화 실현을 위해 파일 시스템 존재 # 파일시스템 저장장치는 선형적인 주소를 가진 바이트의 블록만을 저장 파일 시스템은 저장장치와 응용프로그램 간의 자료구조 차이점을 해결 - Stream-block Translation : 기억장치의 블록을 음수가 아닌 정수 값을 갖는 연속된 주소를 가진 바이트의 ..

[운영체제] 8. 가상메모리 (Virtual Memory)
LECTURE/[2021-1] 운영체제 2021. 6. 17. 06:26

본 게시물은 운영체제 과목의 강의영상과 강의자료를 바탕으로 작성한 학습용 게시물입니다. 가상메모리 물리메모리에 일부의 페이지만 적재 (부분적재) 적재 여부를 페이지테이블에 표시 vaild-invaild bit : 탑재되는 페이지만 유효 표시 dirty bit : 페이지 적재 후 변경 유무 표시 요구 페이징 및 부분적재의 타당성 요구 페이징 : 페이지 부재가 발생하면 그때 트랩을 걸어 해당 페이지 탑재 페이지 부재 : 현재 탑재되지 않은 페이지가 발생 참조의 지역성 : 프로그램의 어느 한 특정 작은 부분만 한동안 집중적으로 참조하는 현상 프로그램 부분 적재 - 프로그램 구동 시 보통 전체보다 일부를 필요로 함 - 프로그램 크기가 물리적인 용량에 무관 - 처리율 향상 - 페이지 부재를 낮추어 성능을 높이는 ..

article thumbnail
[운영체제] 7. 메모리 경영
LECTURE/[2021-1] 운영체제 2021. 6. 17. 05:45

본 게시물은 운영체제 과목의 강의영상과 강의자료를 바탕으로 작성한 학습용 게시물입니다. 개요 - 논리주소와 물리주소, 주소 결속 논리주소 : CPU에 의해서 생성되는 주소 체계 물리주소 : RAM에 실질적으로 로드되는 물리적주소 주소결속 : 논리주소 → 물리주소 명령어 하나가 실행될 때마다 주소변환이 이루어짐 주소결속은 한번에 이루어지지 않고 하드웨어의 지원을 받아 실행시간에 이루어짐 # 주소결속 시점 컴파일시점 결속 - 컴파일러가 물리주소를 생성 적재시점 결속 - 적재 시점에 물리적 시작주소가 확정되면 코드 내 논리주소들을 물리적 주소로 변환하여 적재 실행시점 결속 - 먼저 논리주소로 적재된 후 실행 중에 물리주소 확정 적재시점 주소결속 시에는 적재 후 재배치가 불가 실행시점 주소결속 시에는 재배치 및..

[운영체제] 6. 교착 상태 (Deadlock)
LECTURE/[2021-1] 운영체제 2021. 6. 17. 05:22

본 게시물은 운영체제 과목의 강의영상과 강의자료를 바탕으로 작성한 학습용 게시물입니다. 교착상태 문제 # 교착상태 한 프로세스가 자원을 요청하였으나, 그 자원을 필요로 하는 시간에 사용할 수 없다면 대기 상태로 진입하고, 그 필요 자원이 또 다른 자원의 할당을 위해 대기 중인 다른 프로세스에 의해 점유되어 있고 이런 형태의 대기가 꼬리에 꼬리를 물어 환형을 이루게 되면, 대기에 참여한 프로세스들은 영원히 대기 상태에서 벗어날 수 없다. → 교착 상태 발생 교착상태 특징 다음의 4가지 조건이 동시에 만족될 때 교착상태 발생 1. 상호 배제 : 할당 후 반환까지 한 프로세스만 사용하는 자원이어야 함 2. 점유하며 대기 : 적어도 각 프로세스가 하나의 자원을 보유하고 현재 다른 프로세스에게 점유된 자원을 추가..

[운영체제] 6. 상호작용 프로세스와 동기화
LECTURE/[2021-1] 운영체제 2021. 6. 17. 04:46

본 게시물은 운영체제 과목의 강의영상과 강의자료를 바탕으로 작성한 학습용 게시물입니다. 공유변수 활용 → 간섭 문제 발생 race condition : 공유 변수 동시 접근 시 발생하는 문제 원소적 실행, 동기화, 임계구역 원소적 실행 : 공유변수를 통해 상호작용하는 프로세스 혹은 쓰레드 간에 문맥교환이 언제 일어나도 간섭이 없는 실행이 보장되는 것 - 공유변수를 사용하는 코드 영역에 임계구역을 설정 임계구역 설정 : 원소적 실행을 위해 각 프로세스 혹은 쓰레드가 공유변수, 자료구조, 파일 등을 배타적으로 읽고 쓸 수 있도록 설정한 코드 세그먼트 → mutex가 기본 동기화 : 코드 상에 임계구역을 설정해 진입/진출을 순서화 하는 것 상호작용 프로세스와 결정성 # 상호작용 프로세스 컴퓨터 시스템 자체가 ..

[운영체제] 5. 실시간 스케쥴링
LECTURE/[2021-1] 운영체제 2021. 6. 17. 04:19

본 게시물은 운영체제 과목의 강의영상과 강의자료를 바탕으로 작성한 학습용 게시물입니다. 실시간 시스템 연성 실시간 시스템 - 실시간이 아닌 프로세스들에 비해 우선권을 가진다는 것만 보장 경성 실시간 시스템 - 테스크는 반드시 마감시간까지 서비스 받아야함 사건지연 시간 : 사건이 발생해서 그에 맞는 서비스가 수행될때까지의 시간 # 지연 시간 최소화 인터럽트 지연시간 : CPU에 인터럽트가 발생한 시점부터 해당 ISR이 시작하기까지의 시간 디스패치 지연시간 : 하나의 프로세스를 중지시키고 다른 프로세스를 시작하게 하는데 걸리는 시간 실시간 태스크 작업 : 테스크의 단위작업 실시간 테스크 : 작업의 연속 - 비주기적 / 주기적 주기적 테스크 (p,t) - 주기 p - 마감시간 d - 수행시간 t - 이용률 u..

[운영체제] 4. 프로세스 스케쥴링
LECTURE/[2021-1] 운영체제 2021. 6. 17. 03:38

본 게시물은 운영체제 과목의 강의영상과 강의자료를 바탕으로 작성한 학습용 게시물입니다. 스케쥴링 개념 # 장기, 중기, 단기 스케쥴러 장기 스케쥴러 (작업 스케쥴러) - 오프라인과 연계되는 일괄처리 큐를 별도로 유지하는 경우에 필요 - 어떤 프로그램을 하드디스크로부터 메모리로 적재할지를 결정하는것 단기 스케쥴러 (또는 CPU 스케쥴러) - 메모리 내의 준비 상태에 있는 작업 중 실행할 프로세스를 선택하여 CPU를 할당 - 일반적으로 스케쥴러라 함은 단기 스케쥴러를 말함 중기 스케쥴러 - 가상메모리 체제에서 너무 많은 프로세스가 적재되면 하드디스크 입출력이 과다해져서 시스템이 거의 멈추는 형상이 발생 - 스와핑 : 일부 프로세스를 메모리에서 디스크로 내보내고, 시간이 흘러 메모리의 여유가 생기면 다시 적재..

article thumbnail
[운영체제] 3. 프로세스
LECTURE/[2021-1] 운영체제 2021. 6. 15. 04:40

본 게시물은 운영체제 과목의 강의영상과 강의자료를 바탕으로 작성한 학습용 게시물입니다. 프로세스 정의 # 프로세스 : 실행 중인 프로그램 시스템 콜을 통해 자원을 요구하는 주체 멀티 프로세싱 혹은 멀티 태스킹 사용자 프로세스 - 응용 프로그램이 실행되는 것 시스템 프로세스 - 운영체제가 필요에 의해 생성 문맥과 문맥교환 # 문맥 (Context) : 프로세스의 실행 중단 시 보존되고, 속개 시 다시 원상 복구되어야하는 프로세스의 모든 실행 정보 사용자 수준 문맥 (User-level context) - 메인 메모리 현재 상태 - 텍스트 영역 : 프로그램 코드 부분 - 자료 영역 : 프로그램 광역변수 부분 - 스택 영역 : 프로그램 실행시간 스택 부분 커널 수준 문맥 (Kernel-level context..

article thumbnail
[운영체제] 2. 컴퓨터구조와 OS 연계
LECTURE/[2021-1] 운영체제 2021. 6. 15. 00:51

본 게시물은 운영체제 과목의 강의영상과 강의자료를 바탕으로 작성한 학습용 게시물입니다. 커널과 시스템 호출 # 커널 vs. 시스템 프로그램 커널 - 운영체제의 핵심부분, 메모리에 상주하는 부분 - 주로 자원 관리 및 자원 사용에 관한 서비스 - 시스템 호출을 제공 시스템 프로그램 - 커널 이외의 프로그램 - 운영체제 개발자가 기본적으로 제공하는 라이브러리나 운영체제 사용 도구 - ex) 편집기, 컴파일러, 디버거, 쉘, 쉘 명령어 등 # 커널 기능적 측면의 구성요소 - 부팅 단계의 기능 - 하드웨어 진단 및 초기화 - 디스크 상의 커널 프로그램을 메모리로 적재 기능적 측면의 구성요소 - 부팅 후 기능 - 프로세스 경영 - 중앙처리장치 경영 - 주기억 장치 경영 - 파일 시스템과 보조 기억장치 경영 - 시..