Skip to content

[week3][이윤주] 운영체제 #9

@yujachaa

Description

@yujachaa

1️⃣컴퓨터 구성요소

답변

- CPU
- 메모리
- 드라이버
- ~~하드웨어?~~

보완

2️⃣cpu의 중요한 3가지 요소

답변

  • 산술처리 연산, 계산에 필요한 데이터를 보관하는 레지스터, 여기까지 ..(제어장치)

보완

3️⃣ cpu 연산과정 설명

답변

  • 제어장치가 연산에 필요한 데이터들을 레지스터에 저장, cpu에도 저장 → 메모리에 저장
    • cpu 에 명령을 내려 레지스터에 저장된 값으로 연산하고, 처리된 값을 다시 저장 장치 → 메모리 에 저장

보완

4️⃣ 각 계층에 대한 간단한 설명

답변

  • 메모리
    • 캐시 유무 차이: 없으면 사용할 곳 가져올곳 속도가 달라 병목현상 발생가능. 있으면 그 사이 완충역할해서 병목현상 해결 가능.
    • 캐시에서 데이터 찾을때: 못찾으면 캐시 미스(다른 기억장치에서 가져와 속도 느림), 찾으면 캐시 히트 (속도 빠름, 바로 데이터 사용 가능)

보완

5️⃣ 스와핑

답변

- 페이지 폴트 현상 ~~방지~~ → 현상 발생 시 사용(해결책)
- 디스크를 메모리의 일부처럼 사용 → 디스크에 있는 정보를 메모리에 불러오는
- 보완 필요

보완

6️⃣ 데드락이란? 원인과 해결방법도 설명

답변

- 교착상태. 2개의 프로세스가 있을때 A가 공유 자원 점유, 다른 프로세스는 B라는 공유자원 점유할 때 각자가 점유 중인 공유자원 필요해 서로 무한정 대기하는 상태
- 원인: 4가지
    - 한 프로세스가 하나의 자원만 점유 - 상호배제
    - 점유를 하며 다른 공유 자원을 기다리고 있는 상태 - 점유대기
    - 다른 자원을 뺏을 수 없는 상태 - 비선점
    - ??? → 환형 대기 (보완)
- 해결방법
    - 잘모르겠음 → 은행원 알고리즘 활용해서 해결, 이전에 조건이 성립되지 않게 설계
    - 실제로 발생했을 경우에는 사이클의 프로세스 제거 , 사용자가 꺼버리기

보완

7️⃣ 멀티 프로세싱 vs 멀티 스레딩

답변

- 멀티 프로세싱: 각 프로세스가 독립적인 상태. 스택이나 힙 등을 개별적으로 가짐. 한 프로세스에 문제 생겨도 다른 프로세스가 진행 가능한 장점
- 멀티 스레딩: 하나 프로세스에 여러 스레드 할당. 여러 스레드가 자원을 공유. (+ stack은 따로 가진다.) 멀티 프로세스보다 비용이 적게 드는 장점. → 단점으로 한 스레드에 이상이 있을 때 다른 스레드에 영향이 있는 점

보완

8️⃣ 페이지 폴트 처리 과정 설명 + 스와핑 전후 포함

답변

- 잘 모르겠어요… (보완)

보완

9️⃣ 메모리 계층 4 계층 각각 설명

답변

- cpu에서 가장 가까운 순서
- 레지스터 : 용량 제일 작고 , 속도 빠르고 휘발성
- 캐시 : L1, L2 가 있음. 비휘발성, 속도가 비교적 빠르고, 레지스터에 비해 상대적으로 용량 큼 → 휘발성
- 메모리 (RAM) : 비휘발성, 캐시보다는 용량 크고 속도 느림 → 휘발성
- 보조기억장치 (HDD, SDD) → 비휘발성 , 전원이 꺼지더라도 메모리 유지

보완

🔟 웹 브라우저 캐시 종류, 각 캐시들이 데이터 공유 범위, 활용 예시

답변

- 사용자 인증 정보, 보안위해 사용
    - 로컬 스토리지, 세션 스토리지, 캐시 → 쿠키
    - 쿠키 : 만료기간 있음, 키-값 쌍으로 사용, 클라이언트 서버 둘다 만료 정할 수 있지만 서버에서 만료기간을 많이 정함
    - 세션 : 탭마다 생성되는 임시저장소, 키-값으로 저장, 용량이 최대 5mb, 탭을 끄면 정보가 삭제 → 브라우저 끄면 정보 남아있지 않음
    - 로컬 : 5mb, 키-값 형태, 사용자의 컴퓨터의 남아있기 때문에 브라우저를 꺼도 남아있음. 보통 다크모드 같은 개인 커스텀 정보를 저장할 때 사용

보완

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions