Coding, Filming, and Nothing
article thumbnail
Published 2021. 4. 11. 02:27
1.5 Core components of OS 무제 메모장

1. 

운영체제의 핵심 요소들

  1. Process management
  2. Memory management
  3. Storage management
  4. Protection and Security

#필기 

*컴퓨터 관리를 위한 다양한 관리 기능

 

2.

프로세스 관리 - 프로세서의 정의 

 

  • 프로세스 : 실행 중인 프로그램(활성화된 vmfhrmfoa) 
    • Job, time-shared 프로그램
    • 자원요구와 함께 활성화된 프로그램 
      ex) word 

    • 하나의 스레드 프로세스는 PC를 가지고 있다.
      • 다중 프로그램 인스턴스의 경우, 프로세스를 세분화
    • 작업의 단위(Unit)이기도 함
      • 운영체제의 프로세스와, 유저의 프로세스로도 구분

 

#필기

  1. 프로그램은 원래 디스크에 위치한다, 실행을 함으로써 메모리 -> CPU에서 활성화가 이루어 진다. 
  2. 동일한 프로그램을 여러개 실행하는 경우에는 독립된 프로세스로 취급한다.
  3. 해당 슬라이드에서 PC는 H/W 쪽의 실행중인 프로그램의 PC(컴구에서 배웠던 레지스터의 개념)가 아니라, 실행 중이던 프로세스의 명령어 위치를 기억하고 value를 개념적으로 소유함으로 갖는 PC이다. 각 프로그램마다 가지고 있는 실행지점을 뜻함.

 

3.

프로세스 관리 - 스레드와 Task

 

  • 용어적으로 프로세스와 비슷한 개념을 가진 것들
    • 스레드 
       동시에 실행 중인 작업에 대해 2개 이상으로 분리할 수 있는 방법 
      • CPU utilization의 기본 단위(사용)
      • 프로세스보다 더 작은 개념
      • 각 스레드는 ID, PC, 레지스터 집합, 스택 등을 가짐
      • 대부분의 주요 자원들은 공유하면서 사용
    • Task
       주소 공간에서 실행되고 있는 ...
      • 메모리에 적지된 프로그램 명령어 집합
      • 리눅스 등, 프로세스와 스레드의 개념이 명확하지 않아 이 둘을 합쳐 Task라 부르기도 함 

 

#필기

  1. 한 프로그램 내에 실행하는 흐름이 2개 이상일 때, 스레드가 n개 만큼 있다고 할 수있다. 
  2. 스레드는 메인 자원들을 공유하는데, 스레드 A가 오픈한 파일을 스레드 B가 읽을 수 있다. 메모리 공간을 공유하는 것 
  3. 프로세스는 작업의 단위로써, 각 침범을 방지하기 위해 protection을 수행한다. 
  4. 스레드는 각각이 고유(공유하지 않는) RSS를 가지고 있다. 해당 요소들의 공통점은 모두 프로그램을 실행할 때 직접적으로 연관이 되어 있는 것들이다. 
  5. 스레드가 공유하는 메인 자원들은 프로그램 코드, 힙, 글로벌 변수들이 있다. 
  6. Q. 하나의 CPU는 한 순간에 하나의 프로세스만 실행이 가능한가?
    A. 한 프로세서에서 싱글 스레드만 사용이 가능하다면 답변은 O이지만, 한 프로세스 내에서 스레드를 여러개로 분리(소유)할 수 있기 때문에 아니다. 

 

4.

프로세스 관리 - 운영체제 

  • 프로세서는 운영체제의 의해서 관리가 된다.
    • 프로세스를 생성하고 삭제한다.
    • 잠시 실행을 멈추거나, 멈춘 실행을 재기동 한다. 
    • 또, 프로세스간 동기화를 관장함 

 

 

  • 프로세스는 반드시 운영체제에 의해서 관리된다.
    • 프로세스 간 통신
    • Deadlock(교착상태) 처리 

#필기

  1. 교착상태는, 프로세스 하나하나 씩 보면 문제가 없는 자연스러운 상황인데 서로 무한하게 기다리게 되는 상황이다. 

 

 

5.

메모리 관리 

  • 메인메모리는 현대 시스템의 중심
    • CPU가 직접적으로 addressing하고 접근할 수 있는 유일한 저장장치이다.
    • CPU와 I/O 장치에 의해서 데이터가 공유됨
  • 운영체제의 메모리 관리
    • 전체 메인메모리 중, 어떠한 부분이 사용되고 있고 free 상태인지에 대한 기록을 가지고 있어야함
    • 메모리 공간 할당과 회수를 관장 
    • 또, 어떤 프로세스와 데이터가 메모리 내부로 들어올지 나갈지에 대해서도 판단 

 

#필기

  1. CPU가 직접 접근할 수 있는 유일한 메모리가 메인 메모리다.
  2. 운영체제가 메모리에 대해서 통제권을 갖는데, 이때 통제권은 메모리 할당과 회수의 권한을 말한다. CPU처럼 메모리를 접근한다는 뜻이 아님. 

 

6.

저장 장치 관리

  • logical 파일로 물리적 저장공간을 추상화 함
    • Physical storage : 자기 디스크, 광학 디스크 등등 
      • 모든 종류마다 속도, 용량, 전송속도, 접근 방법 들이 다 다름
    • File : 운영체제에 의해서 추상화 되어 제공되는 논리적 저장 유닛이다.

 

#필기

  1. 각 저장장치마다 접근하는 방법이 전부 다르다. 
  2. 운영체제가 이때 File abstraction을 통해 통합된 기능으로 제공을 하는데, 이때 그것이 파일이다. 
  3. 파일 sys call에서, open close, read, write 등의 표준 인터페이스의 기능을 통해 사용한다. 

 

7.

디바이스 드라이버 

드라이버가 하는 일

  • 디바이스 드라이버가 통합된(?) 인터페이스를 제공해줌

 

#필기

  1. 지난번에 디바이스 드라이버는 소프트웨어라고 했음 
  2. 하드웨어가 달라도 표준 operation을 제공하는데, 고유의 방법을 추상화해서 제공한다. 

 

8.

Protection n Security

  • Protection
    • 유저나 프로세스가 자원에 접근하는 것에 대해 컨트롤하는 매커니즘을 일컫음
      • 고유한 유저 아이디, 그룹 아이디를 모든 프로세스, 자원들에 전부 할당한다. 
  • 하지만, Protection이 항상 안전하지 않음 
  • Security
    • 외부나, 내부의 불법적인 공격에 대해서 방어하는 것 
      • Security issue는 정말 최근에 들어서 매우 중요해짐

 

#필기

  1. Protection과 Security는 서로 약간 다르다. 
  2. Protection은 소유자를 지정하고, 유저별로 ID를 지정하는 것인데, ID를 다 찍어서 소유자에게만 허락을 한다. 
  3. 그러나 다른 사람의 ID를 도용하는 경우 Protection이 무력화가 되는 문제점이 있다. 
  4. Security는 다른 계정으로 접근하느 것을 막는 것(?)인데, 남의 이름으로 로그인을 하는 것을 막는다고 한다. 
  5. 문제는 Security는 명확하지 않고, 실제로 방법도 모호하며 security whloe이 많다.
  6. 그래서 되게 많은 방법들과 넓은 스펙트럼을 가진 방법들이 사용되고 있다. 

 

profile

Coding, Filming, and Nothing

@_안쑤

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!