728x90

운영체제 62

운영체제(OS, Operationg System)

운영체제(OS, Operationg System)하드웨어를 관리하고, 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어라고 할 수 있다.운영체제의 역할프로세스 관리프로세스, 스레드스케줄링동기화IPC 통신저장장치 관리메모리 관리가상 메모리파일 시스템네트워킹TCP/IP기타 프로토콜사용자 관리계정 관리접근권한 관리디바이스 드라이버순차접근 장치임의접근 장치네트워크 장치1. 프로세스 관리운영체제에서 작동하는 응용 프로그램을 관리하는 기능이다.현재 CPU를 점유해야 할 프로세스를 결정하고, 실제로 CPU를 프로세스에 할..

Computer/CS 2024.06.28

게임 서버 프로그래밍 8장. 분산 서버 구조

8장. 분산 서버 구조 8.1 수직 확장과 수평 확장 확장성(scalability)이란 사용자 수가 늘어나더라도 쉽게 대응할 수 있어야 한다는 의미다. 최대로 처리할 수 있는 사용자 수가 무제한이여도 가능해야 한다는 것이 확장성 목표이다. 사용자 수가 늘어나도 서버 성능을 유지하려면 보통 다음 두 가지 중 하나를 수행한다. 스케일 업(scale-up) : 수직 확장 스케일 아웃(scale-out) : 수평 확장 수직 확장은 서버의 하드웨어를 더 좋은 것으로 교체하여 처리량을 늘리는 것을 의미한다. 수평 확장은 서버 대수를 늘려서 더 많은 처리를 하는 것이다. 수평 확장이 더 많이 사용되는 방법이지만, 소프트웨어 설계가 더 복잡하다는 대가가 따른다. 또 수평 확장은 수직 확장으로 서버보다 단위 처리 속도가..

책/운영체제 2024.04.12

24.04.01 운영체제, PintOS, 백준

아니 벌써 4월임..ㄷㄷ 이거 신기한거시와요 하와와 어느새 4월이 왔슴니다.. 어느새 2분기가 시작했다구욧!! 시ㅣㄴ나기한거시에요… 운영체제 34. 분산시스템 웹브라우저가 지구상 어딘가에 있는 웹 서버에 접속하면 클라이언트/서버 분산 시스템이라는 구조에 한 구성원이 된다. 분산 시스템의 핵심 사안은 실패와 고장의 극복이다. 개별 구성요소들은 자주 고장나지만 기계들은 고장없는 시스템처럼 보이도록 만들 수가 있다. 또 다른 중요한 문제가 있다. 시스템 성넝은 매우 중요한 요소이다. 분산된 시스템들을 연결하는 네트워크에서는 시스템 설계자들은 주어진 목적을 달성하는데 많은 신경을 써야한다. 마지막으로 보안 역시 매우 중요한 요소이다. 원격 사이트를 접속할 때, 접속한 사이트가 진짜 원했던 사이트인지를 확신할 수..

운영체제 34. 분산시스템

34. 분산시스템 웹브라우저가 지구상 어딘가에 있는 웹 서버에 접속하면 클라이언트/서버 분산 시스템이라는 구조에 한 구성원이 된다. 분산 시스템의 핵심 사안은 실패와 고장의 극복이다. 개별 구성요소들은 자주 고장나지만 기계들은 고장없는 시스템처럼 보이도록 만들 수가 있다. 또 다른 중요한 문제가 있다. 시스템 성넝은 매우 중요한 요소이다. 분산된 시스템들을 연결하는 네트워크에서는 시스템 설계자들은 주어진 목적을 달성하는데 많은 신경을 써야한다. 마지막으로 보안 역시 매우 중요한 요소이다. 원격 사이트를 접속할 때, 접속한 사이트가 진짜 원했던 사이트인지를 확신할 수 있는지도 중요한 문제이다. 34.1 통신의 기본 최신 네트워킹의 핵심 가정은 통신은 신뢰할 수 없다는 것이다. 종류에 상관 없이 패킷들은 정..

책/운영체제 2024.04.02

운영체제 33. 데이터 무결성과 보호

33. 데이터 무결성과 보호 33.1 디스크 오류 모델 디스크는 완전하지 않으며 오류가 발생할 수 있다. 현대의 디스크들은 정상적으로 동작하는 것처럼 보이지만 블럭들을 읽는데 실패하는 경우가 있다. 우리가 살펴볼 만한 것은 두 가지 종류의 단일 - 블럭 오류가 있다. 각각은 숨어있는 섹터 에러(Latent Sector error, LSE)와 블럭손상(block corruption)이다. LSE는 디스크 섹터가 어떤 이유로든 손상되었을 때 발생한다. 예를들어, 디스크 헤드가 표면에 어떤 이유로 닿았다면(head crash, 일반적인 상황에서는 일어나면 안된다) 표면을 망가뜨릴것이고 비트들을 읽을 수 없게 만든다. 강한 방사선도 역시 비트를 반전시켜서 내용을 부정확하게 만들 수 있다. 다행스러운 것은 디스크..

책/운영체제 2024.03.31

24.03.30 운영체제, PintOS

운영체제 32. 크래시 일관성 : FSCK와 저널링 여타 자료구조와는 다르게 파일 시스템의 자료구조는 안전하게 저장되어야 한다. 파일 시스템이 가진 가장 큰 어려움은 전력 손실이나 시스템 크래시가 발생하는 상황에서도, 어떻게 안전하게 디스크 상의 내용을 갱신하는 가에 대한 문제이다. 전력손실이나 크래시 때문에 디스크 상의 자료구조를 안전하게 갱신하는 것은 상당히 까다로운 작업이 된다. 파일 시스템은 크래시 일관성(crash - consistency)라는 새롭고 흥미로운 문제에 직면한다. 어떤 특정 작업을 위해 자료구조 A와 B를 갱신해야 한다고 했을 때 디스크는 한 번에 하나의 요청만 처리할 수 있기 때문에 두 요청 중 하나의 요청이 먼저 디스크에 도달할 것이다. 하나의 쓰기 작업만 완료한 상태에서 시스..

운영체제 32. 크래시 일관성 : FSCK와 저널링

32. 크래시 일관성 : FSCK와 저널링 여타 자료구조와는 다르게 파일 시스템의 자료구조는 안전하게 저장되어야 한다. 파일 시스템이 가진 가장 큰 어려움은 전력 손실이나 시스템 크래시가 발생하는 상황에서도, 어떻게 안전하게 디스크 상의 내용을 갱신하는 가에 대한 문제이다. 전력손실이나 크래시 때문에 디스크 상의 자료구조를 안전하게 갱신하는 것은 상당히 까다로운 작업이 된다. 파일 시스템은 크래시 일관성(crash - consistency)라는 새롭고 흥미로운 문제에 직면한다. 어떤 특정 작업을 위해 자료구조 A와 B를 갱신해야 한다고 했을 때 디스크는 한 번에 하나의 요청만 처리할 수 있기 때문에 두 요청 중 하나의 요청이 먼저 디스크에 도달할 것이다. 하나의 쓰기 작업만 완료한 상태에서 시스템의 전원..

책/운영체제 2024.03.31

24.03.29 운영체제, PintOS

운영체제 31. 지역성과 Fast File System 구형 파일 시스템의 장점은 단순하다는 것이며, 파일 시스템의 가장 기본적인 개념인 파일과 디렉터리만을 제공한다. 31.1 문제 : 낮은 성능 문제는 성능이 형편없다는 것이다. 구형 파일 시스템의 핵심 문제는 디스크를 마치 임의 접근 기억 장치(RAM)처럼 사용한다는 것이다. 데이터를 저장하는 매체가 디스크라는 사실을 무시하고 여기저기에 데이터를 저장하고 있기 때문에 디스크 헤드를 이동시키는데 많은 시간이 소요된다. 더 안좋은 것은 파일 시스템이 빈 공간을 효율적으로 관리하지 않기 때문에 결국에는 공간이 단편화된다. 빈 공간들이 디스크 전역에 흩어져 있으며, 새로운 블럭 할당시 무조건 리스트에서 다음 빈 블럭을 할당한다. 그 결과 파일을 순차적으로 읽..

운영체제 31. 지역성과 Fast File System

31. 지역성과 Fast File System 구형 파일 시스템의 장점은 단순하다는 것이며, 파일 시스템의 가장 기본적인 개념인 파일과 디렉터리만을 제공한다. 31.1 문제 : 낮은 성능 문제는 성능이 형편없다는 것이다. 구형 파일 시스템의 핵심 문제는 디스크를 마치 임의 접근 기억 장치(RAM)처럼 사용한다는 것이다. 데이터를 저장하는 매체가 디스크라는 사실을 무시하고 여기저기에 데이터를 저장하고 있기 때문에 디스크 헤드를 이동시키는데 많은 시간이 소요된다. 더 안좋은 것은 파일 시스템이 빈 공간을 효율적으로 관리하지 않기 때문에 결국에는 공간이 단편화된다. 빈 공간들이 디스크 전역에 흩어져 있으며, 새로운 블럭 할당시 무조건 리스트에서 다음 빈 블럭을 할당한다. 그 결과 파일을 순차적으로 읽더라도 실..

책/운영체제 2024.03.30

24.03.28 운영체제, PintOS, 백준

운영체제 30. 파일 시스템 구현 30.1 생각하는 방법 파일 시스템에 대해 학습할 때, 두 가지 측면에서 접근할 것을 권장한다. 첫 번째는 파일 시스템의 자료구조이다. 즉 파일 시스템이 자신의 데이터와 메타 데이터를 관리하기 위해 어떤 자료구조가 있어야 하는지 여러 파일 시스템은 배열과 같은 간단한 자료구조로 표현하지만 SGI의 XFS와 같은 파일 시스템은 좀 더 복잡한 트리 기반 자료 구조를 사용한다. 두 번째 측면은 접근 방법(access method)이다. 프로세스 호출하는 명령들은 자료구조와 어떤 관리이 있는가? 특정 시스템 콜을 실행할 때 어떤 자료구조들이 읽히는가 파일 시스템의 자료구조와 접근방법을 이해하였다면, 실제 동작 방식에 대한 개념 모델을 제대로 정립하는 것이다. 30.2 전체 구성..

728x90