Peony의 기록 창고 🌼
Published 2022. 3. 26. 00:16
[OS] 프로세스& 커널& 컴퓨팅 환경 OS
반응형

 

 

프로세스 관리

프로세스(Process)

  • 실행중인 프로그램, 하나의 작업이나 하나의 시분할 프로그램으로 생각 가능
  • 시스템 내의 작업 단위로 사용
  • 자신의 일을 수행하기 위해 여러 자원 필요(CPU 시간, 메모리 파일, I/O장치 등)
  • 다중 스레드 프로세스 : 복수개의 프로그램 카운터를 가지고 있으며, 이 카운터들은 각 스레드가 실행할 다음 명령어를 가리킴
  • 프로세스 종류
    • 운영체제 프로세스 : 시스템 코드를 수행하는 프로세스
    • 사용자 프로세스 : 사용자 코드를 수행하는 프로세스
  • 모든 프로세스 간에 하나의 CPU를 다중화 함으로써 병행 수행

 

주의) 프로그램(Program) 그 자체는 프로세스 X

프로그램 : 수동적 개체(Passive Entity)

프로세스 : 능동적 객체(Active Entity)
(PC : 프로그램 실행 -> M.M에 적재 -> CPU 실행 -> HDD에 머물러 있는 상태)

 

보호와 보안

  • 보호(Protection)
    : 컴퓨터 시스템이 정의한 자원에 대해 프로그램, 프로세스, 또는 사용자들의 접근을 제어하는 기법
  • 보안(Security)
    : 시스템 외부 or 내부의 공격을 방어하는 것
  • 보호와 보안을 제공하기 위해서 시스템의 모든 사용자들을 구분할 수 있어야 함
    • 대부분의 OS : 사용자 식별자(User IDS, Security IDs)리스트를 유지
      -> 사용자마다 할당, 시스템에서 유일한 값을 가지고, 로그인 인증 단계에서 사용자에 맞는 식별자 결정
      • 그룹 기능 : 시스템 전체에 존재하는 그룹 이름과 그룹 식별자(Group ID) 리스트로 구현
      • 운영체제는 특권(Privilege)을 획득할 수 잇는 다양한 방법을 제공(ex. UNIX의 setuid)

 

커널 자료구조

  1. 연결리스트
    • 단일 연결 리스트
    • 이중 연결 리스트
    • 원형 연결 리스트
  2. 트리 : 데이터 서열을 표시하는데 사용 가능한 자료구조
    • 이진 탐색 트리(균형 이진 탐색 트리)
  3. 해시함수 : 데이터를 입력으로 받아 이 데이터에 산술 연산을 수행하여 하나의 수를 복귀
    • 해시 맵을 구현하는 일도 함
    • 단점 : 해시 충돌(Hash Collision)
  4. 비트맵(Bitmap) : n개 항의 상태를 나타내는데 사용 가능한 n개의 이진 Bit 스트링

 

컴퓨팅 환경

전통적 컴퓨팅

  • 전형적인 사무실 환경
    : 네트워크에 연결된 PC들과 파일과 프린트 서버를 제공하는 서버들로 구성
  • -> 현재 : 원격 접근, 이동성을 다양하게 제공. 회사들은 포털(Portal)을 구현
  • 홈 네트워크
    : 가정 내 다양한 정보 기기들 상호 간 네트워크를 구축
    • 하나의 컴퓨터가 느린 모뎀을 연결해서 사용

클라이언트-서버 컴퓨팅(Client-Server Computing)

  • 오늘날 많은 시스템 : 클라이언트 시스템에 의해 생성되는 요구를 만족 시키기 위한 서버 시스템으로 동작. 이런 특별한 분산시스템 : 클라이언트-서버 시스템
  • 서버 시스템은 넓게 ‘계산 서버’와 ‘파일 서버’로 분류
    • 계산 서버: 어떤 작업(자료 읽기)을 요청할 수 있는 인터페이스를 제공
    • 파일 서버: 파일 생성, 갱신, 읽기 및 제거할 수 있는 파일 시스템 인터페이스를 제공

 

Peer-to-Peer(P2P) Computing

image

  • 분산 시스템의 또 다른 구조
  • 클라이언트와 서버가 서로 구별 X
    • 모든 시스템 상의 노드가 '피어(Peer)'로 구분
    • 피어 : 서비스를 요청하느냐, 제공하는냐에 따라 클라이언트, 서버로 동작

 

Web-Based Computing

  • ‘웹’(Web)은 도처에 있으며(Ubiquitous), 다양한 장치에 의한 접근을 허용
  • PC가 아직까지 가장 널리 퍼진 접근 장치, 워크스테이션, 휴대용 PDA, 그리고 휴대전화도 접근을 제공
  • 웹 기반 컴퓨팅의 구현 : 네트워크 연결을 비슷한 서버 풀 내에서 분배 하는 부하 분산 장치(Load Balancer)와 같은 새로운 장치를 탄생시킴

 

Cloud Computing

  • 계산, 저장장치, 응용을 자신의 컴퓨터가 아닌 네트워크를 통한 서비스로 제공하는 컴퓨팅 유형
  • 가상화의 논리적 확장
  • 종류
    • 공공 클라우드
    • 사유 클라우드
    • 혼합형 클라우드
  • 장점
    • 초기 구입 비용, 비용 지출 ↓ , 휴대성 ↑
    • 컴퓨터 가용율 ↑
    • 다양한 기기를 단말기로 사용 가능, 일치된 사용자 환경 구현
    • 데이터를 안전하게 보관
    • 전문적인 H/W 지식 없이도 쉽게 이용 가능
  • 단점
    • 서버가 공격당하면, 개인정보 유출될 수 있음
    • 미리 백업하지 않으면 손상된 데이터를 되살리지 X
    • 통신환경이 열악하면 서비스가 어려움
    • 개별 정보가 물리적으로 어디에 위치하는지 알 수 X

 

실시간 내장형 시스템(Real-time Embedded Systems)

  • 현재 가장 유행하는 컴퓨터 유형. 아주 특정한 작업만을 수행
  • 시스템 : 매우 원시적 / 운영체제 : 제한된 기능만을 제공
  • 사용 증가 추세
  • 내장형 시스템은 거의 언제나 실시간 운영체제(RTOS)를 수행
  • 내장형 시스템은 매우 다양
    • 어떤 시스템 : 운영체제를 수행하면서 특수 목적을 가진 응용 프로그램을 수행
    • 다른 시스템은 운영체제 없이 필요한 작업을 수행하는 응용 전용 칩만을 갖는 H/W 장치
  • 실시간 시스템 : 잘 정의된 고정된 시간 제약을 가짐
    • 정의된 제한 시간 내에 반드시 처리가 이루어져야 함
    • 정해진 시간 제약 내에 올바른 결과를 돌려줄 수 있을 때에만 정확히 동작하는 것으로 간주
반응형
profile

Peony의 기록 창고 🌼

@myeongju