2 minute read

1. 운영체제는 컴퓨터 하드웨어를 관리하는 소프트 웨어이다.

운영체제의 역할은 다른 프로그램이 유용한 작업을 할 수있는 환경을 제공하는 것이다.

환경을 제공하는것은 자원을 할당 하는 것으로 운영체제가 기능할 수있는 것이다.

이에 따라 운영체제는 시스템 자원을 제어하는 제어 프로그램이다.

컴퓨터에서 항상 실행되는 프로그램을 커널이라고 한다.

운영체제와 관련되어 있지만 반드시 커널의 일부일 필요가 없는 시스템 프로그램이 있다.

시스템 작동과 관련되지 않은 모든 프로그램을 포함하는것은 응용 프로그램이다.

응용프로그램 개발자에게 추가 서비스를 제공하는 소프트웨어 프레임워크는 미들웨어이다.

2. 컴퓨터 시스템은 CPU+ 공유메모리 사이의 공통 버스로 연결된 컨트롤러로 구성된다.

운영체제의 각 장치 의 컨트롤러마다 장치드라이버가 있다.

컨트롤러는 장치에서 로컬 버퍼로 데이터 전송을 시작하고, 완료되면 컨트롤러는 드라이버에게 작업 완료를 알린다.

작업완료를 알릴때 인터럽트를 통해이루어집니다.

드라이버가 읽기요청이면 포인터를 반환하며 운영체제의 다른부분에 제어를 넘긴다.

CPU 하드웨어에는 인터럽트 요청라인 (Interrupt request line) 이 있는데, 명령어의 실행을 완료할때마다 CPU가 감지한다.

CPU가 컨트롤러가 감지한것을 인터럽트 요청라인에 보낸것을 확인하면 인터럽트 핸들러 루틴으로 점프한다.

장치컨트롤러가 인터럽트 라인에 신호 선언, 인터럽트를 발생시키고, CPU는 인터럽트를 포착하여 인터럽트 핸들러로 디스패치해서 핸들러는 인터럽트를 지운다.

컴퓨터 전원을킬때 제일 먼저 실행되는 프로그램은 부트스트랩 프로그램이며 운영체제를 적재하는데 EEPROM(읽기 전용 메모리) 를 사용한다.

EEPROM (Electrically Erasable Programmable Read-Only Memory) –> 비휘발성 메모리의 하나

모든 형태의 메모리는 바이트배열을 제공한다.

3. 코어는 명령을 실행하고 로컬로 데이터를 저장하기 위한 레지스터를 포함하는 요소이다.

컴퓨터 시스템 구조는 싱글 프로세서 시스템, 멀티 프로세서 시스템, 클러스터링 시스템 이 있습니다.

멀티 프로세서 시스템은 메모리 및 주변장치의 공유로 속도향상이 예상되지만 오버해드로인해 비율이 단순산출되지 않는다.

멀티 프로세서 시스템은 단일 코어 CPU에 2개이상의 프로세서가 존재하는 형태를 말하고, 클러스터링 시스템은 둘이상의 독자적 시스템 또는 노드를 통해서 연결하여 구성되는 시스템이다. 멀티프로세서 시스템과 달리 높은 가용성을 지니고 있는 특징이 있다.

4. 하둡(Hadoop) 은 클러스터형 시스템에서 대용량 데이터 세트의 분산처리에 사용되는 공개소스 소프트웨어 프레임워크이다. 단일 시스템에서 수천개의 컴퓨팅 노드를 포함하는 클러스터로 확장되도록 설계되어있다.

하둡은 분산 컴퓨팅 노드에서 데이터와 파일을 관리하는 분산 파일 시스템, YARN 프레임워크 가 클러스터 내의 자원을 관리하고 클러스터의 노드에 작업을 스케쥴링하며, Mapreduce 시스템 은 클러스터의 노드에서 데이터를 병렬처리할 수있게 한다.

데몬 이란 사용자가 직접적으로 제어하지않고, 백그라운드에 돌면서 여러작업을 하는 프로그램을 말한다.

다중프로그래밍 시스템에서 실행중인 프로그램을 프로세스라고 한다.

다중태스킹은 다중 프로그래밍의 논리적 확장이다. 다중 태스킹 시스템에서 CPU는 여러 프로세스를 전환하며 프로세스를 실행하지만 전환이 자주 발생하여 사용자에게는 빠른 응답시간을 제공한다.

시스템 부트 시, 하드웨어는 커널모드 에서 시작한다. 이어 운영체제가 적재되고 사용자 모드에서 사용자 프로세스가 시작된다. 트랩이나 인터럽트 가 발생할 때마다, 하드웨어는 사용자 모드에서 커널 모드로 전환된다.

결국 커널모드로 전환할때마다 모드비트가 0으로 전환되고, 사용자프로세스가 진행될때는 1로 전환된다는 의미이다.

  1. 프로그램은 CPU에의해 명령이 실행되지 않으면 아무것도 할 수 없다.

실행중인 프로그램은 프로세스이다.

프로그램 그자체는 프로세스가 아니며, 프로세스는 프로그램 카운터를 가진 능동적인 개체이다.

프로세스는 한 시스템 내의 작업의 단위이다.

운영체제는 프로세스에 대해 사용자 프로세스와 시스템 프로세스의 생성과 제거, 스케쥴링, 중지와 재수행의 역할을 한다.

운영체제는 메모리의 사용되고 있는 부분이 어느 프로세스에의한 것인지 추적할수 있어야한다.

운영체제는 필요에따라 메모리 공간을 할당하고 회수 할수있어야한다.

운영체제는 프로세스들을 메모리에 적재하고 제거할 것인가를 결정해야한다.

운영체제는 자원관리자이다.

캐싱은 중요한 컴퓨터시스템에 원리중 하나이다. 정보가 사용됨에 따라, 캐시에 일시적으로 복사된다.

한 캐시에 있는 알파값이 갱신될 경우 알파가 존재하는 모든 캐시에 즉각적으로 반영되는 상황을 캐시 일관성 문제라고 한다.

6.

보호란 타 컴퓨터 시스템의 접근을 제어하는 기법이다.

외부 또는 내부의 공격을 방어하는 것을 보안이라고 한다.

프로세스는 유효 사용자 식별자를 이용하여 수행된다.

원글

Leave a comment